UTC时间戳的瞬间

Puz*_*e84 0 javascript timestamp momentjs

假设我有以下代码:

var date = moment();
var timestamp = date.unix();
var utc_timestamp = moment.utc().unix();
Run Code Online (Sandbox Code Playgroud)

我的理解是,如果你打电话给utc().所有函数都以utc模式返回值.

那么在这种情况下似乎并非如此.

date = {_isAMomentObject: true, _isUTC: false, _locale: r, _d: Thu Mar 24 2016 14:51:35 GMT-0700 (PDT)}
timestamp = 1458856295
utc_timestmap = 1458856295
Run Code Online (Sandbox Code Playgroud)

然而.如果我使用

moment().utc(date.toDate().toUTCString())l
Run Code Online (Sandbox Code Playgroud)

该值似乎是UTC.但它使用"当前又名NOW值"作为utc值和时刻值.

问题是,我如何获得现有时刻的utc时间戳?

我查看了建议的问题,并搜索了但我似乎无法找到正确的解决方案.

编辑//

我有服务器端代码在Golang中生成时间戳.然后通过休息将其发送到我的网络服务器.并转换为MYSQL中的DateTime字段.

当我然后使用时刻生成时间戳,并在我的数据库中查询时刻1和时刻2之间的unix_timestamp(时间戳)时,基于DST,时刻的时间戳正好提前7或8小时.

我已将DateTime字段转换为时间戳.到目前为止还没有工作但可能是我的代码中的另一个问题.

Mag*_*int 5

Unix时间戳反映了自Unix Epoch以来的秒数.它们指的是全球时间表上的一个点.因此,所有时间戳都是UTC.没有本地时间戳这样的东西.

在本地模式下使用时,它使用JS Date对象将Unix时间戳的值转换为本地时间.日期对象中的实际Unix时间戳编号保持不变.

在UTC模式下使用时刻时,它只是显示Unix时间戳的值而不进行任何本地时间的转换.

在任何一种情况下,Unix时间戳值都反映了全局时间轴上的相同点.

通过在本地和UTC模式下使用相同的时间戳构建一个时刻,可能最好地说明了这一点.请注意,X格式标记表示我自Unix时代起以单位使用Unix时间戳.如果将整数传递给默认构造函数而不指定它,则假定您使用Unix时间戳(自Unix纪元以来的毫秒数).

moment('1458861314', 'X').format()
"2016-03-24T18:15:14-05:00"
Run Code Online (Sandbox Code Playgroud)

上面的时间是在我当地的时区.

moment.utc('1458861314', 'X').format()
"2016-03-24T23:15:14+00:00"
Run Code Online (Sandbox Code Playgroud)

这个时间是UTC.

它们都是从相同的Unix时间戳构造的,它们都引用了全局时间轴上的相同点.