我试图将格式为dd-mm-yyyy的字符串转换为JavaScript中的日期对象,使用以下方法:

 var from = $("#datepicker").val();
 var to = $("#datepickertwo").val();
 var f = new Date(from);
 var t = new Date(to);

("#datepicker").val()包含格式为dd-mm-yyyy的日期。 当我执行以下操作时,我得到“无效日期”:

alert(f);

这是因为“-”符号吗?我怎样才能克服这个问题呢?


当前回答

你可以:

var f = new Date(from.split('-').reverse().join('/'));

其他回答

您可以使用外部库来帮助您。

http://www.mattkruse.com/javascript/date/source.html

getDateFromFormat(val,format);

还可以看到这个:用JavaScript解析DateTime字符串

var from = $("#datepicker").val(); 
var f = $.datepicker.parseDate("d-m-Y", from);

对我来说

new Date("20151102034013".replace(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/, "$1-$2-$3T$4:$5:$6"))

结果:2015年11月2日星期一04:40:13 GMT+0100(欧洲中部时间) 然后我使用.getTime()来处理毫秒

new Date().toLocaleDateString();

就这么简单,只是把你的日期传递给js的日期对象

你可以:

var f = new Date(from.split('-').reverse().join('/'));