0
我正在使用JavaScript日期,並且我試圖從字符串中獲取日期時感到有些困惑。本月首日的Javascript日期對象問題
這是我的代碼:
var formatDate = function(dateObj) {
// make sure date values are two digits and months start at 1
var adjMonth = dateObj.getMonth() + 1;
var adjDate = dateObj.getDate();
if (adjMonth < 10) adjMonth = '0' + adjMonth;
if (adjDate < 10) adjDate = '0' + adjDate;
// build and return dateStr
var dateStr = dateObj.getFullYear() + '-' + adjMonth + '-' + adjDate;
return dateStr;
};
$(document).ready(function() {
var testIn1 = "2012-02-01";
var testDate1 = new Date(testIn1);
var testDate1Str = formatDate(testDate1);
var testIn2 = "2012-01-31";
var testDate2 = new Date(testIn2);
var testDate2Str = formatDate(testDate2);
$('#output').html("---Input = '" + testIn1 + "':<br>" + testDate1 + "<br>" + testDate1Str + "<br>"
+"---Input = '" + testIn2 + "':<br>" + testDate2 + "<br>" + testDate2Str + "<br>");
});
結果我從這個得到的是:
---Input = '2012-02-01':
Tue Jan 31 2012 18:00:00 GMT-0600 (CST)
2012-01-31
---Input = '2012-01-31':
Mon Jan 30 2012 18:00:00 GMT-0600 (CST)
2012-01-30
這是沒有意義的我,爲什麼一個日子了嗎?從2012年2月1日起,2012-01-31看起來似乎沒有道理......我在這裏錯過了什麼?
嗯,我看...所以JS是假設我輸入查詢在GMT日期,然後吐出的CST轉換後的時間? – kand
種。它實際上是在格林尼治標準時間吐出來的,你只是沒有使用date對象中給出的'.getTimezoneOffset()'。 – weexpectedTHIS