議事録を提供する JSON サービスがあります。次に、これらの分を DD:HH:MM 形式に変換したいと思います。[日、時間、分]
誰かが私を正しい方向に向けたり、これを達成する方法を教えてもらえますか?
ありがとうデヴィン
議事録を提供する JSON サービスがあります。次に、これらの分を DD:HH:MM 形式に変換したいと思います。[日、時間、分]
誰かが私を正しい方向に向けたり、これを達成する方法を教えてもらえますか?
ありがとうデヴィン
可能な限り高い数値を削除し、残りの数値を再び継続する共通関数を作成できます: http://jsfiddle.net/sL43t/1/。
var arr = [];
var value = 5467;
var gain = function(minutes) {
var amount = Math.floor(value / minutes);
arr.push(amount < 10 ? "0" + amount : amount); // add zero padding if needed
value %= minutes;
};
gain(24 * 60); // minutes per day
gain(60); // minutes per hour
gain(1); // minutes per minute
var str = arr.join(":");
次のようなものを使用して、分を日、時間、分に変換できます。
// Helper
function z(n) {
return (n<10? '0' : '') + n;
}
var n = 5467;
var days = n / 1440 | 0;
var hours = n % 1440 / 60 | 0;
var mins = n % 60;
alert( z(days) + ':' + z(hours) + ':' + z(mins) ); // 03:19:07
あなたが答えを見つけたことは知っていますが、私には簡単に思えるので、これを捨てて、他の誰かを助けるかもしれません:
function makeTime(v, lead) {
v = parseInt(v); // ensures variable is an integer to do math too
var days = Math.floor(v/1440),
hrs = Math.floor(v/60 - (days*24)),
mins = xmins % 60;
var ret = {
days: lead ? "" + (days < 10 ? "0" + days : days) : days,
hrs: lead ? "" + (hrs < 10 ? "0" + hrs : hrs) : hrs,
mins: lead ? "" + (mins < 10 ? "0" + mins : mins) : mins
};
ret.combo = ret.days + ":" + ret.hrs + ":" + ret.mins;
return ret;
}
var xmins = 11404; // ou can se your data or whatever, this is just an example of minutes
var breakDown = makeTime(xmins); // this will return pure integers on each value
// OR!!
var breakDown = makeTime(xmins, true); // the true parameter just simply decides if you want leading variable, and string on each
// use
$("#eleID").text(breakDown.combo);
var t = 123456; // the given minutes
var days = Math.floor(t / (60 * 24));
var hours = Math.floor((t - days * 60 * 24) / 60);
var mintues = t - days * 60 * 24 - hours * 60;
// assuming obj.totalMin to be total minutes
var obj = {
totalMin : 4859
}
var days = Math.floor( obj.totalMin / (60 * 24));
var hours = Math.floor( obj.totalMin / 60) - (days * 24);
var minutes = obj.totalMin % 60;
document.write (days + ":" + hours + ":" + minutes);
このために独自の関数を作成したくない場合は、数値をミリ秒に変換し、それを使用して日付オブジェクトを作成できます。次に、選択した形式を使用してその日付オブジェクトを出力します。
これを試して
var totalMinutes = ;
var days = totalMinutes/1440;
var totalHours = totalMinutes%1440;
var hours = totalHours/60;
var minutes = totalHours%60;
alert("DD:"+days+" HH:"+hours+" MM:"+minutes);