【问题标题】:Getting current unixtimestamp using Moment.js使用 Moment.js 获取当前的 unixtimestamp
【发布时间】:2014-10-19 09:18:02
【问题描述】:

我想使用 Moment.js 获取 Unix 时间戳。 我可以在 moment.js 中找到许多将时间戳转换为日期的函数。 我知道我可以使用以下 JavaScript 函数轻松获取 unix 时间戳:Math.floor(new Date().getTime()/1000)

但我想使用 Moment.js 来获得相同的结果。 在 moment.js 中有没有直接的函数来获取当前的时间戳?

【问题讨论】:

    标签: unix-timestamp momentjs


    【解决方案1】:

    以秒为单位查找 Unix 时间戳:

    moment().unix()
    

    documentation 是您的朋友。 :)

    【讨论】:

    • @climbinghobo 如果你想在毫秒内使用moment().valueOf()
    • 不再有效。请参阅下面的@kumar chandraketu 答案。
    • 这将给出自纪元以来的时间,并且不会将当前时间转换为毫秒
    【解决方案2】:

    对于找到此页面并寻找带毫秒的 unix 时间戳的任何人,the documentation says

    moment().valueOf()
    

    +moment();
    

    可以也可以通过moment().format('x')(或.format('X') [capital X] 获取带有十进制毫秒的 unix 秒),但这会给你一个字符串.之后哪个 moment.js 实际上不会解析回来,除非您先将其转换/转换回数字。

    注意:此答案继续获得 +1,这很好,但 Moment 已被贬低,建议使用 Luxondate-fns 等替代方案。见:https://momentjs.com/docs/#/-project-status

    【讨论】:

    • 非常好,但最后一个 (+moment()) 看起来很冒险!
    • @JRichardsz 这似乎是一个不必要的解析步骤,因为我提到的前两个将为您提供正确的数字值。
    • 正确。来自documentationmoment().valueOf();+moment();
    • @mix3d 我会试试的。谢谢!
    【解决方案3】:

    UNIX 时间戳,以毫秒为单位

    moment().format('x') // lowerCase x

    用于 UNIX 时间戳,以秒为单位 moment().format('X') // capital X

    【讨论】:

    • 注意:这些会给你一个字符串的值,而不是数字对象。
    【解决方案4】:

    试试这些

    valof = moment().valueOf();            // xxxxxxxxxxxxx
    getTime = moment().toDate().getTime(); // xxxxxxxxxxxxx
    unixTime =  moment().unix();           // xxxxxxxxxx
    formatTimex =  moment().format('x');   // xxxxxxxxxx
    unixFormatX = moment().format('X');    // xxxxxxxxxx
    

    【讨论】:

      猜你喜欢
      • 2015-03-23
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多