我仍然環繞着這個圖書館,但我沒有時間,所以我會只需跳到擾流板部分並詢問。使用給定的毫秒毫秒時間值(例如您從.getTime()
得到的類型),我如何獲得特定毫秒的當前分,小時,星期,月,月,星期和年時間?Javascript,時間和日期:獲取給定毫秒時間的當前分鐘,小時,星期,星期,月份,年份
此外,如何檢索給定月份的天數?任何我應該知道的關於閏年和其他東西的事情?
我仍然環繞着這個圖書館,但我沒有時間,所以我會只需跳到擾流板部分並詢問。使用給定的毫秒毫秒時間值(例如您從.getTime()
得到的類型),我如何獲得特定毫秒的當前分,小時,星期,月,月,星期和年時間?Javascript,時間和日期:獲取給定毫秒時間的當前分鐘,小時,星期,星期,月份,年份
此外,如何檢索給定月份的天數?任何我應該知道的關於閏年和其他東西的事情?
變量名應該是描述:
var date = new Date;
date.setTime(result_from_Date_getTime);
var seconds = date.getSeconds();
var minutes = date.getMinutes();
var hour = date.getHours();
var year = date.getFullYear();
var month = date.getMonth(); // beware: January = 0; February = 1, etc.
var day = date.getDate();
var dayOfWeek = date.getDay(); // Sunday = 0, Monday = 1, etc.
var milliSeconds = date.getMilliseconds();
某一個月的日子不會改變。在閏年中,2月有29天。靈感來自http://www.javascriptkata.com/2007/05/24/how-to-know-if-its-a-leap-year/(感謝彼得·貝利!)
從以前的代碼續:
var days_in_months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
// for leap years, February has 29 days. Check whether
// February, the 29th exists for the given year
if((new Date(year, 1, 29)).getDate() == 29) days_in_month[1] = 29;
有沒有簡單的方法來獲得一年的一週。有關該問題的答案,請參閱Is there a way in javascript to create a date object using year & ISO week number?
這不是確定閏年的完整算法。 – bobince 2010-12-09 21:16:37
查看維基百科後編輯它。感謝您的注意。 – Lekensteyn 2010-12-09 21:29:24
這個想法是正確的,我認爲邏輯是有點關閉,雖然...也許`year%400 === 0 || (年%4 === 0 && year%100!== 0)`。 – bobince 2010-12-09 21:32:40
關於月中的天數,只需使用靜態切換命令並檢查if (year % 4 == 0)
,在這種情況下,2月將有29天。
分鐘,小時,天等:
var someMillisecondValue = 511111222127;
var date = new Date(someMillisecondValue);
var minute = date.getMinutes();
var hour = date.getHours();
var day = date.getDate();
var month = date.getMonth();
var year = date.getFullYear();
alert([minute, hour, day, month, year].join("\n"));
從自己計算它(並因此不必獲得閏年右),您可以使用日期計算做此外,我該如何找回某個月份的天數?
var y= 2010, m= 11; // December 2010 - trap: months are 0-based in JS var next= Date.UTC(y, m+1); // timestamp of beginning of following month var end= new Date(next-1); // date for last second of this month var lastday= end.getUTCDate(); // 31
一般的時間戳/日期計算,我建議:
除了使用基於UTC的Date方法,如getUTCSeconds
而不是getSeconds()
和Date.UTC
從UTC日期獲取時間戳,而不是new Date(y, m)
,因此您不必擔心時區規則更改時發生奇怪時間不連續的可能性。
這裏是另一種方法來獲取日期
new Date().getDate() // Get the day as a number (1-31)
new Date().getDay() // Get the weekday as a number (0-6)
new Date().getFullYear() // Get the four digit year (yyyy)
new Date().getHours() // Get the hour (0-23)
new Date().getMilliseconds() // Get the milliseconds (0-999)
new Date().getMinutes() // Get the minutes (0-59)
new Date().getMonth() // Get the month (0-11)
new Date().getSeconds() // Get the seconds (0-59)
new Date().getTime() // Get the time (milliseconds since January 1, 1970)
它在規範的所有解釋。有一節介紹日期方法,甚至是抽象算法。 – 2010-12-09 20:48:20