我需要做最簡單的事情,輸入日期/時間並寫出小時數:分鐘:直到那個時間的秒數。我一直無法弄清楚。我甚至用Datejs這是偉大的嘗試,但似乎並沒有這種功能內置JavaScript時間直到
的時間將是在0分鐘的範圍內的某處 - >20分鐘
謝謝!
我需要做最簡單的事情,輸入日期/時間並寫出小時數:分鐘:直到那個時間的秒數。我一直無法弄清楚。我甚至用Datejs這是偉大的嘗試,但似乎並沒有這種功能內置JavaScript時間直到
的時間將是在0分鐘的範圍內的某處 - >20分鐘
謝謝!
取代Date.js,請嘗試Moment.js。
不要打擾圖書館這麼簡單的事情。你必須知道的輸入日期字符串的格式是否使用圖書館或沒有,所以假設ISO8601(如2013-02-08T08:34:15Z),你可以這樣做:
// Convert string in ISO8601 format to date object
// e.g. 2013-02-08T02:40:00Z
//
function isoToObj(s) {
var b = s.split(/[-TZ:]/i);
return new Date(Date.UTC(b[0], --b[1], b[2], b[3], b[4], b[5]));
}
function timeToGo(s) {
// Utility to add leading zero
function z(n) {
return (n < 10? '0' : '') + n;
}
// Convert string to date object
var d = isoToObj(s);
var diff = d - new Date();
// Allow for previous times
var sign = diff < 0? '-' : '';
diff = Math.abs(diff);
// Get time components
var hours = diff/3.6e6 | 0;
var mins = diff%3.6e6/6e4 | 0;
var secs = Math.round(diff%6e4/1e3);
// Return formatted string
return sign + z(hours) + ':' + z(mins) + ':' + z(secs);
}
您可能需要使用將字符串轉換爲日期的函數,但不多。無論如何,您應該提供UTC時間字符串,除非您可以確定客戶端的本地時間設置爲提供的日期時間值的時區。
這可能會奏效,但圖書館做我想要的任何東西,比如解析任何種類的日期字符串。雖然謝謝! –
無論如何,您必須知道所提供的字符串的格式才能使用庫,爲特定格式編寫您自己的解析器並不重要(可能是2或3行代碼)。格式化輸出也不困難,所以除非您有其他要求,否則我不會看到圖書館的要點。 – RobG
嘗試[Moment.js](http://momentjs.com/)。另外,顯示一些代碼。 –
非常感謝,我認爲可能有這樣一個圖書館......提交爲答案也許? –