40

我想"2013-09-05 15:34:00"在 javascript 中将字符串转换为 Unix 时间戳。任何人都可以告诉如何做到这一点?谢谢。

4

5 回答 5

78

您可以初始化一个 Date 对象并调用 getTime() 以 unix 形式获取它。它以毫秒为单位出现,因此您需要除以 1000 才能在几秒钟内得到它。

(new Date("2013/09/05 15:34:00").getTime()/1000)

它可能有小数位,因此将其包装在 Math.round 会清除它。

Math.round(new Date("2013/09/05 15:34:00").getTime()/1000)
于 2013-09-05T10:43:04.707 回答
12

尝试

(new Date("2013-09-05 15:34:00")).getTime() / 1000
于 2013-09-05T10:42:37.173 回答
6

DaMouse404 答案有效,但您将使用斜杠而不是破折号:

您可以初始化一个 Date 对象并调用 getTime() 以 unix 形式获取它。它以毫秒为单位出现,因此您需要除以 1000 才能在几秒钟内得到它。

(new Date("2013/09/05 15:34:00").getTime()/1000)

它可能有小数位,因此将其包装在 Math.round 会清除它。

Math.round(new Date("2013/09/05 15:34:00").getTime()/1000)
于 2013-12-13T15:34:12.477 回答
5

为此,您应该查看 moment.s-library

使用它,您可以编写如下内容:

newUnixTimeStamp = moment('2013-09-05 15:34:00', 'YYYY-MM-DD HH:mm:ss').unix();
于 2016-02-10T01:21:15.960 回答
2

我会自己使用日期解析,因为它是本机解决方案。MDN 文档。

const datetimeString = '04 Dec 1995 00:12:00 GMT';
const unixTimestamp = Date.parse(datetimeString);
// unixTimestamp = 818035920000
于 2021-04-25T21:10:50.770 回答