【问题标题】:how to convert unix time to unix date by moment.js如何通过 moment.js 将 unix 时间转换为 unix 日期
【发布时间】:2017-07-04 01:40:06
【问题描述】:

像 1487152419798 这样的字符串是带有日期和时间的时间戳 我需要像 1487152419798 这样的字符串,带有日期和 00:00 的时间戳。

let timestamp = '1487152419798';
let date = moment(Number(timestamp)).format('YYYY-MM-DD');
let unixDate = moment.unix(date);  //don't work

我需要 2017.02.15 00:00 in unix

【问题讨论】:

  • 完全不清楚你在问什么。你想从这个数字中得到什么最终结果?
  • @t-j-crowder, 2017.02.17 00:00 in unix
  • "in unix" 在这句话中毫无意义。在当地时间?世界标准时间?此外,根据您的时区,1487152419798 是 2 月 14 日、15 日或 16 日,但肯定不是 17 日。
  • @t-j-crowder,我需要按天排序(组)时间戳
  • const unixDate = moment(date).unix(); console.log(moment(unixDate * 1000).format('YYYY-MM-DD'));

标签: javascript date unix timestamp momentjs


【解决方案1】:
let timestamp = '1487152419798';
let date = new Date(Number(timestamp));

date 应该为您提供所需的值。

【讨论】:

    【解决方案2】:

    您可以使用startOf("day") 来修改 Moment 实例以将所有时间字段设置为 0。因此首先将 timestamp 转换为数字:

    timestamp = Number(timestamp)
    

    然后:

    如果你想要本地:

    let local = moment(timestamp).startOf("day");
    

    或者如果你想要 UTC:

    let utc = moment.utc(timestamp).startOf("day");
    // Note---------^^^^^
    

    let timestamp = Number('1487152419798');
    let local = moment(timestamp).startOf("day");
    let utc = moment.utc(timestamp).startOf("day");
    console.log("Date in local timezone: ", local.format());
    console.log("Date in UTC: ", utc.format());
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

    【讨论】:

      猜你喜欢
      • 2018-02-18
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      相关资源
      最近更新 更多