2016-11-11 44 views
1

這是我的js代碼:將字符串轉換到時候給出錯誤的一年

var x = "2017-1-2"; 
var y = moment(x, "yyyy-MM-DD") 

當我看着Ÿ在控制檯,這是它是什麼:

enter image description here

正如你所看到的,_d有正確的一天和monthe,但錯誤的一年。爲什麼會發生這種情況,以及如何解決它?我使用該值通過ajax將其發送到服務器,併發送了錯誤的年份。

+0

我從來沒有與Moment.js播放之前,但假設''moment''是一個構造,你會不會使用''new''關鍵字? – Crowes

+0

@JoshCrowe不,創建一個新的時刻對象,你不需要新的關鍵字:) –

+1

啊,這是一個帶有返回的函數,而不是構造函數。疑難雜症。 – Crowes

回答

1

改爲使用大寫YYYY。它在​​中提到。另外不要忘記,使用moment()的構建會將日期視爲本地日期,然後將其轉換爲UTC。如果您想將日期視爲UTC,則可以使用moment.utc()

在我的時區(GMT + 7)下面的代碼將顯示"2017-01-01T17:00:00.000Z"

var x = "2017-1-2"; 
 
var y = moment(x, "YYYY-MM-DD") 
 
console.log(y);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.16.0/moment.min.js"></script>

相關問題