使用 JavaScript 将日期转换为秒

使用 JavaScript 将日期转换为秒数

Convert a Date to Seconds using JavaScript

将日期转换为秒数:

  1. 使用构造函数创建一个Date对象。Date()
  2. geTime()使用该方法获取以毫秒为单位的时间戳。
  3. 通过除以将结果转换为秒1000
索引.js
const date = new Date('2022-04-26T09:35:24'); const seconds = Math.floor(date.getTime() / 1000); console.log(seconds); // 👉️ 1650954924

我们使用
Date()
构造函数来创建一个
Date对象。

getTime
方法返回自 Unix 纪元(1970 年 1 月 1 日 00:00:00)以来的毫秒数

我们可以通过将数字除以 将毫秒转换为秒 1000

Math.floor函数,

如果数字有小数,则向下舍入数字,否则按原样返回数字。

索引.js
console.log(Math.floor(4.99)); // 👉️ 4 console.log(Math.floor(4.01)); // 👉️ 4 console.log(Math.floor(4)); // 👉️ 4

这确保我们在将毫秒转换为秒时不会得到小数。

确保将除法的结果传递给Math.floor 函数,因为数字在转换为秒时可能有小数。

如果您需要以秒为单位从时间戳创建Date对象,请将其乘以并将其1000传递给Date()构造函数。

索引.js
const seconds = 1650954924; const date = new Date(seconds * 1000); // 👇️ Tue Apr 26 2022 09:35:24 console.log(date);
构造函数需要一个以毫秒为单位的值,因此我们必须在创建对象Date()时将秒数转换回毫秒数。 Date

Date如果您在从日期字符串创建有效对象时遇到困难,您可以将 2 种类型的参数传递给Date()构造函数:

  1. 一个有效的 ISO 8601 字符串,格式为YYYY-MM-DDTHH:mm:ss.sssZ, 或者只是
    YYYY-MM-DD,如果你只有一个没有时间的日期。
  2. 多个逗号分隔的参数,表示year, month(0 = 一月到 11 = 十二月
    day of the month、、、hoursminutesseconds

这是一个示例,它Date从格式为
MM/DD/YYYY hh:mm:ss.

索引.js
const str = '06/26/2022 04:35:12'; const [dateComponents, timeComponents] = str.split(' '); console.log(dateComponents); // 👉️ "06/26/2022" console.log(timeComponents); // 👉️ "04:35:12" const [month, day, year] = dateComponents.split('/'); const [hours, minutes, seconds] = timeComponents.split(':'); const date = new Date(+year, month - 1, +day, +hours, +minutes, +seconds); console.log(date); // 👉️ Sun Jun 26 2022 04:35:12 const timestampInSeconds = Math.floor(date.getTime() / 1000); console.log(timestampInSeconds); // 👉️ 1650080712

我们做的第一件事是在空格上拆分日期和时间字符串,这样我们就可以将日期和时间组件作为单独的字符串获取。

然后我们必须在每个正斜杠上拆分日期字符串以获得月、日和年的值。请注意,您的分隔符可能不同,例如连字符,但方法是相同的。

我们还在每个冒号上拆分时间字符串,并将小时、分钟和秒分配给变量。

1请注意,我们在将它传递给Date()
构造函数时从月份
中减去。

这是因为,Date构造函数需要一个从零开始的值,其中 January = 0、February = 1、March = 2 等。

我们将所有参数传递给Date()构造函数以创建一个Date
对象并将其转换
Date为秒。

发表评论