2016-05-31 489 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() 
相关问题