转换日期和时间为Unix时间戳

问题描述 投票:56回答:4

我显示这样的日期和时间

24 - 11月,2009年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

我怎样才能做到这一点?

javascript regex unix timestamp
4个回答
86
投票

如果你只是需要一个好的日期解析功能,我想看看date.js。这将需要几乎任何日期字符串,你可以扔掉它,并返回一个JavaScript Date对象。

一旦你有一个Date对象,你可以调用它的getTime()方法,它会给你自1月1日毫秒,1970年只是除以结果通过1000来获得Unix时间戳值。

在代码中,只包括date.js,则:

var unixtime = Date.parse("24-Nov-2009 17:57:35").getTime()/1000

58
投票

好像getTime未在上述接听功能。

Date.parse(currentDate)/1000

4
投票

您可以使用Date.getTime()功能,或以毫秒为单位划分返回时候Date对象本身。

var d = new Date();

d/1000
> 1510329641.84

d.getTime()/1000
> 1510329641.84

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);

请享用!

© www.soinside.com 2019 - 2024. All rights reserved.