gpt4 book ai didi

javascript - 反转纪元时间转换

转载 作者:行者123 更新时间:2023-12-02 14:45:55 28 4
gpt4 key购买 nike

我使用 moment.js 将长/纪元时间转换为人性化可读格式:

function convertValue(x) {

var mytime = x; // x = 1460554200000000

mytime = moment.utc(mytime).utcOffset(moment().format('ZZ'));
mytime = mytime.format('DD-MM-YY HH:mm:ss.SSS');
mytime = mytime + ' (' + moment().format('[UTC]ZZ') + ')';

return myTime;

}

myTime 将返回类似以下内容的内容:14-05-16 15:55:05.000 (UTC+100)

如果我收到类似以下内容的信息,我该如何做相反的事情:29-01-16 14:35:05.000 (UTC+100) 并转换回纪元时间?

最佳答案

对于给定的 moment 对象,如果您希望结果为字符串:

  • 使用 .format('x') 作为时间戳(以毫秒为单位)
  • 使用 .format('X') 作为时间戳(以秒为单位)

但是,如果您希望结果为数字:

  • 使用.valueOf()作为时间戳(以毫秒为单位)
  • 使用 .unix() 获取时间戳(以秒为单位)

但是,关于您提供的代码:

  • 偏移量UTC+100是非标准的并且有些模糊。可能是 UTC+10UTC+10:00UTC+0100UTC+01:00 >.

  • DD-MM-YY 可能会让用户感到困惑,因为它使用两位数年份,并且与通常预期的顺序相反。如果您打算让很多人使用它,或者您想要特定于区域设置的内容,请使用 YYYY-MM-DD,然后确保您使用的是常见的分隔符在本地。通常是 /.

  • 您将给定的时间戳与当前偏移量配对,而不是给定时间有效的偏移量。在许多位置,时区偏移因夏令时和其他时区变化而变化,这将会失败。

  • 您的代码应该是:

    var mytime = moment(x).format('YYYY-MM-DD HH:mm:ss.SSS [UTC]ZZ');
  • 要从特定格式的字符串创建 moment 对象,只需在解析时提供该格式即可。因此,反向函数将是:

    var x = moment(mytime, 'YYYY-MM-DD HH:mm:ss.SSS [UTC]ZZ').valueOf();

关于javascript - 反转纪元时间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36603070/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com