有没有办法以####-##-##
的格式从HTML对象中获取日期对象并将其转换为纪元时间。例如,用户输入2012年8月12日的值,当我打印出它的.val()时,显示为2012-08-12,我需要在Epoch时间内获取此值。
修改
迄今为止的代码:
if (hvStartDate == "") {
hvStartDate = "start"
}
else {
console.log($("#hv-start-date").val()); // => 2012-08-20
hvStartDate = new Date($("#hv-start-date").val()).getTime(); // => NaN
}
if (hvEndDate == "") {
hvEndDate = "end"
}
else {
hvEndDate = new Date($("#hv-end-date").val()).getTime(); // => NaN
}
var myTmp = new Date("2012-08-20");
console.log(myTmp.getTime()); // => NaN
答案 0 :(得分:6)
Javascript's Date
built-in允许您将日期字符串传递给其构造函数,并根据该字符串为您提供日期。从那里,调用getTime( )
将为您提供纪元时间。
new Date($('.user-value').val()).getTime(); // => epoch time
new Date('2012-08-12').getTime(); // 1344729600000
警告:注意区域设置字符串和区域设置特定的日期格式(例如,天和月的位置根据区域设置切换)。
编辑:根据您在下面评论中的代码,这是您需要做的。请注意,您必须在调用getTime()
之前实例化新的日期对象:
if (hvStartDate == "") {
hvStartDate = "start"
}
else {
hvStartDate = new Date($("#hv-start-date").val()).getTime();
}
答案 1 :(得分:3)
只需使用getTime()
功能即可。它返回自Epoch以来的毫秒数:
var msSinceEpoch = myDate.getTime();
MDN的完整日期参考:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date
编辑:如果你也需要解析它,你可以:
new Date(theString)