【问题标题】:Moment js not converting the date to desired formatMoment js没有将日期转换为所需的格式
【发布时间】:2018-10-30 12:26:29
【问题描述】:

我有这个对象数组:

[ 
  { id: '1', name: 'sam', entryTime: 2018-10-30T10:48:29.286Z }, 
  { id: '2', name: 'john', entryTime: 2018-10-30T11:37:23.874Z } 
]

我的预期输出:

[ 
  { id: '1', name: 'sam', entryTime: 30 Oct 2018 }, 
  { id: '2', name: 'john', entryTime: 30 Oct 2018 } 
]

这是我尝试过的:

const visitors = [..that above array]

visitors.map(index => index.entryTime = moment(index.entryTime).format('D MMM YYYY'));

在我的对象中获取无效日期。

【问题讨论】:

    标签: javascript arrays object momentjs


    【解决方案1】:

    在日期对象中转换它,你的日期也包含时间。 (日期和时间用大写的 T 分隔)。

     var visitors  = [ 
          { id: '1', name: 'sam', entryTime: '2018-10-30T10:48:29.286Z' }, 
          { id: '2', name: 'john', entryTime: '2018-10-30T11:37:23.874Z' } 
        ];
    
        visitors.map(index => index.entryTime = moment(new Date(index.entryTime)).format('Do MMM YY'));
    

    【讨论】:

    • 如果我通过 jsfiddle、jsbin 像 sttufs 进行检查,这可以工作,但我的节点后端代码不能工作。
    【解决方案2】:

    实际上我的代码是有效的,它的续集 ORM 原始数据问题。

    visitors.map(index => index.entryTime = moment(index.entryTime).format('D MMM YYYY'));
    

    【讨论】:

      【解决方案3】:

      尝试将日期作为字符串转换为特定格式。

      var d = "2018-10-30T10:48:29.286Z";
      var output = moment(d,'DD MMM YYYY');
      

      【讨论】:

        猜你喜欢
        • 2020-05-27
        • 1970-01-01
        • 1970-01-01
        • 2018-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多