manzapanza के एक नहीं है nswer केवल तभी काम करता है जब सेकंड 86400 (1 दिन) से कम हो। दिनांक वस्तु पूरी तरह से शून्य होने की आवश्यकता है। साथ ही, वास्तविक दिनांक वस्तु को वापस करना बेहतर होगा ताकि कोणीय को इसे फिर से बनाना पड़े।
app.filter('secondsToDateTime', function() {
return function(seconds) {
var d = new Date(0,0,0,0,0,0,0);
d.setSeconds(seconds);
return d;
};
});
और
<b>{{seconds | secondsToDateTime | date:'HH:mm:ss'}}</b>
संपादित करें: आप घंटे दिनों के लिए यह बेहतर है की तारीख का उपयोग नहीं करने के लिए लपेटकर के बिना 24 से ऊपर जाने के लिए चाहते हैं:
app.filter('secondsToTime', function() {
function padTime(t) {
return t < 10 ? "0"+t : t;
}
return function(_seconds) {
if (typeof _seconds !== "number" || _seconds < 0)
return "00:00:00";
var hours = Math.floor(_seconds/3600),
minutes = Math.floor((_seconds % 3600)/60),
seconds = Math.floor(_seconds % 60);
return padTime(hours) + ":" + padTime(minutes) + ":" + padTime(seconds);
};
});
और
<b>{{seconds | secondsToTime}}</b>
हो सकता है कि '' 237' 2 को बदलने की जरूरत: 37'? क्यों '3: 42: 54'? परिवर्तन में तर्क क्या है? –
237 सेकंड है। –
आपका तर्क 237 सेकेंड कैसे बदलता है 2:34 को अस्पष्ट है। 237 सेकंड 3 मिनट और 57 सेकंड (60 * 3 + 57 = 237 सेकंड) है। तो आप 2:34 पर कैसे पहुंच रहे हैं? या 2:34 दिन का समय होना चाहिए (2:34 बजे)? इनमें से कोई भी वास्तव में समझ में नहीं आता है, जब तक कि आप इस तर्क को समझा नहीं सकते कि आप 237 सेकेंड का अनुवाद कैसे कर रहे हैं 2:34 या 3:42:54। –