Moment js返回负时间戳

Kon*_*Kim 2 javascript momentjs reactjs

我需要将格式 'MM-DD-YYYY' 的字符串转换为 unix 时间戳

moment('06 13 2013').unix() - gives me 1371060000
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试转换 19** 年时,它给出了负时间戳

moment('06 13 1957').unix() - -396165600
Run Code Online (Sandbox Code Playgroud)

Joh*_*auß 5

这是因为 unix 时间从 开始01.01.1970 00:00:00。该日期之前的日期将给出负时间戳,因为它是 before 0。有关 UNIX 时间的更多信息,请参阅这篇 Wikipedia 文章。

它在第一段中指出:

Unix 时间(也称为 POSIX 时间[需要引用] 或 UNIX Epoch 时间)是一种描述时间点的系统。它是自协调世界时 (UTC) 1970 年 1 月 1 日星期四 00:00:00 减去闰秒以来经过的秒数。

每天被视为正好包含 86400 秒,因此要从纪元开始减去闰秒。它广泛用于类 Unix 和许多其他操作系统和文件格式。然而,Unix 时间并不是 UTC 的真实表示,因为 UTC 中的闰秒与其之前的秒共享相同的 Unix 时间。在大多数 Unix 系统上,可以通过在命令行中键入 date +%s 来检查 Unix 时间。

您还可以尝试使用不同的日期或时间戳,并在此处将它们相互转换。