我正在显示这样的日期和时间
2009年11月24日17:57:35
我想将它转换为unix时间戳,以便我可以轻松操作它。我需要使用正则表达式来匹配字符串的每个部分,然后从中计算出unix时间戳。
我对正则表达式很糟糕,但我想出了这个。请建议改进^。^
/((\d){2}+)-((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)+)-((\d){4}+) ((\d){2}+):((\d){2}+):((\d){2}+)/gi
我该怎么做?
答案 0 :(得分:86)
如果你只需要一个好的日期解析功能,我会看date.js。它只需要你可以抛出的任何日期字符串,并返回一个JavaScript Date对象。
一旦你有了一个Date对象,就可以调用它的getTime()方法,该方法将给你1970年1月1日以来的毫秒数。只需将结果除以1000即可获得unix时间戳值。
在代码中,只需包含date.js,然后:
var unixtime = Date.parse("24-Nov-2009 17:57:35").getTime()/1000
答案 1 :(得分:57)
似乎getTime
似乎无法解决上述问题。
Date.parse(currentDate)/1000
答案 2 :(得分:4)
您可以使用Date.getTime()
函数或Date
对象本身,在分割时返回时间(以毫秒为单位)。
var d = new Date();
d/1000
> 1510329641.84
d.getTime()/1000
> 1510329641.84
答案 3 :(得分:0)
使用日期选择器获取日期和时间选择器,我得到两个变量,这就是我将它们以unixtime格式放在一起然后拉出它们的方法...
let datetime = oDdate+' '+oDtime;
let unixtime = Date.parse(datetime)/1000;
console.log('unixtime:',unixtime);
证明:
let milliseconds = unixtime * 1000;
dateObject = new Date(milliseconds);
console.log('dateObject:',dateObject);
享受!