2016-05-31 490 views
2

我有一個字符串,其格式爲「2016年5月1日」當我在Chrome運行下面的代碼我得到正確的輸出的JavaScript字符串轉換爲日期格式YYYY-MM-DD

變種fromDate = new Date(searchOpts.RunDateFrom);

 fromDate.format("yyyy-MM-dd"); 

輸出= 「2016年5月1日」

然而,當這個代碼是我的js文件,我得到這個輸出內執行

日2016年5月1日00:00 :00 GMT + 0530(印度標準時間)

我該如何預防?我需要傳遞的日期在此格式「2016年5月1日」到Solr

+0

簡短的回答:JavaScript的日期處理是可怕的。你有兩個選擇:搜索StackOver的主題的幾十個問題之一 - 或 - 使用http://momentjs.com/ –

+0

可能的重複[格式JavaScript日期爲yyyy-mm-dd](http:// stackoverflow .com/questions/23593052/format-javascript-date-to-yyyy-mm-dd) –

+0

@Jeremy我不能使用外部庫,任何其他方式? –

回答

2
formattedDate = fromDate.getFullYear() + "-" + (fromDate.getMonth()+1) + "-" + fromDate.getDate() 

如果你只需要字符串

+0

如果字符串長度<2 – amulous

+1

這是我正在尋找的extacly,謝謝你可以追加0的月份和日期。 –

0
var year = fromDate.getFullYear(); 
var month = fromDate.getMonth() < 10 ? '0'+ fromDate.getMonth()+1 : fromDate.getMonth()+1 

var date = fromDate.getDate() < 10 ? '0'+ fromDate.getDate(): fromDate.getDate() 
相關問題