📜  javasctipt unix timestamp from date - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:18.738000             🧑  作者: Mango

JavaScript Unix Timestamp from Date

在JavaScript中,Unix时间戳是指自1970年1月1日起经过的秒数。有时候我们需要将日期转换为Unix时间戳来方便存储、计算或传输。

1. 使用getTime()方法

JavaScript中的Date对象有一个内置的方法 getTime(),该方法返回自1970年1月1日午夜零点(UTC)以来的毫秒数。我们可以将其除以1000,以获得Unix时间戳。

const now = new Date();
const unixTimestamp = Math.floor(now.getTime() / 1000);
console.log(unixTimestamp); // 输出当前时间的Unix时间戳

使用 Math.floor() 取整就可以从毫秒转换为秒。输出的结果是一个整数,即当前的Unix时间戳。

2. 使用Date.parse()方法

另一种将日期转换为Unix时间戳的方法是使用 Date.parse() 方法。该方法返回自1970年1月1日午夜零点(UTC)以来的毫秒数。同样,我们可以将其除以1000,以获得Unix时间戳。

const dateStr = "2021-10-01T00:00:00.000Z";
const unixTimestamp = Math.floor(Date.parse(dateStr) / 1000);
console.log(unixTimestamp); // 输出日期2021年10月1日0时0分0秒的Unix时间戳

此代码将字符串形式的日期解析为Date对象,并将其传递给 Date.parse() 方法。然后,我们将结果除以1000并使用 Math.floor() 取整。

3. 使用moment.js库

moment.js 是一个流行的JavaScript日期和时间处理库。它提供了一种方便的方式来转换日期到Unix时间戳。

const moment = require('moment');

const dateStr = "2021-10-01T00:00:00.000Z";
const unixTimestamp = moment(dateStr).unix();
console.log(unixTimestamp); // 输出日期2021年10月1日0时0分0秒的Unix时间戳

这个代码使用moment.js来创建一个日期对象,然后调用 unix() 方法来获取Unix时间戳。如果您喜欢使用第三方库来处理日期,那么这可能是一个不错的选择。

结论

这三种方法能够将日期转换为Unix时间戳。如果你不希望依赖第三方库,那么使用getTime()方法或Date.parse()方法将是最简单的方法。如果你喜欢使用库来处理日期,那么moment.js可能会是你的不错选择。无论如何,JavaScript为我们提供了许多选项,以便于我们进行日期和时间处理。