Moment js返回负时间戳

时间:2019-02-12 13:10:39

标签: javascript reactjs momentjs

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

moment('06 13 2013').unix() - gives me 1371060000

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

moment('06 13 1957').unix() - -396165600

1 个答案:

答案 0 :(得分:4)

这是因为Unix时间从01.01.1970 00:00:00开始。由于该日期之前的日期早于0,因此将提供负的时间戳记。有关Unix时间的更多信息,请参见this Wikipedia article

它在第一段中指出:

  

Unix时间(也称为POSIX time [citation needed]或UNIX Epoch time)是用于描述时间点的系统。它是自1970年1月1日(星期四)协调世界时(UTC)减去0秒以来经过的秒数。

     

每天都将其视为恰好包含86400秒,因此自纪元以来应减去leap秒。它广泛用于类Unix以及许多其他操作系统和文件格式。但是,Unix时间并不是UTC的真实表示,因为UTC中的a秒与之前的Unix时间共享相同的Unix时间。在大多数Unix系统上,可以通过在命令行上输入date +%s来检查Unix时间。

您还可以使用不同的日期或时间戳,并将它们相互转换为here