我正在尝试使用以下格式将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格式的日期 . 当我执行以下操作时,我得到"Invalid Date":
alert(f);
这是因为' - '符号吗?我怎么能克服这个?
12 回答
Split on "-"
将字符串解析为您需要的部分:
Use regex
Why not use regex?
因为你知道你将要处理由三个部分组成的字符串,用连字符分隔 .
但是,如果您在另一个字符串中查找相同的字符串,则可以使用正则表达式 .
Reuse
因为您在示例代码中多次执行此操作,并且可能在代码库中的其他位置执行此操作,所以将其包装在函数中:
用作:
或者如果你不介意你的函数中的jQuery:
用作:
Modern JavaScript
如果你能够使用更现代的JS,阵列解构也是一个不错的选择:
正则表达式示例:
另一种可能性
匹配数字并重新排序
使用moment.js示例:
使用以下格式:
myDate = new Date('2011-01-03'); // Mon Jan 03 2011 00:00:00
您还可以在
Date()
对象的括号内写入日期,如下所示:您可以使用外部库来帮助您 .
http://www.mattkruse.com/javascript/date/source.html
另见:Parse DateTime string in JavaScript
在我的情况下
结果:Mon Nov 02 2015 04:40:13 GMT 0100(CET)然后我使用.getTime()来工作毫秒
看看所有那些小日期相关问题的Datejs ..您也可以通过parseDate函数来解决这个问题
你可以使用正则表达式 .
就这么简单,只需将你的日期传递给js Date Object