【问题标题】:JavaScript: Array of numbers to date-time string formatJavaScript:日期时间字符串格式的数字数组
【发布时间】:2019-02-06 04:41:54
【问题描述】:

我有一个数字数组

var year = [1999,2000,2001,2002,2003];

我需要转换为日期时间格式

var yearConvert =["1999-00-00","2000-00-00","2001-00-00","20002-00-00","2003-00-00"];

我只有一年是整数

【问题讨论】:

标签: javascript arrays date datetime


【解决方案1】:

您可以在每个元素上使用map 和 concat -00-00

var year = [1999,2000,2001,2002,2003];

let op = year.map(e => e+'-00-00')

console.log(op)

【讨论】:

    【解决方案2】:

    您可以使用 IIFE generator functionspread syntaxyield 每个值到一个数组中,如下所示:

    const year = [1999,2000,2001,2002,2003],
    yearConvert = [...(function*(a){
      for(y of a) yield `${y}-00-00`;
    })(year)];
    
    console.log(yearConvert);

    【讨论】:

      【解决方案3】:

      您可以使用Array#map 来执行此操作。但是返回的数组的值是字符串而不是 Date 对象。

      const year = [1999,2000,2001,2002,2003];
      const dateString = year.map((ele) => `${ele}-00-00`);
      console.log(dateString);
      
      //Convert this array to Date Objects using Date constructor Date(year, monthIndex, day) month starts from '0'
      
      const date = dateString.map((str) => { 
        const data = str.split('-');
        return new Date(data[0], data[1], data[2]+1);
      });
      
      console.log(date)
      
      //To verify parse to date strings
      
      const dateParsed = date.map((date) => date.toDateString());
      console.log(dateParsed);

      【讨论】:

        猜你喜欢
        • 2014-08-10
        • 1970-01-01
        • 2015-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多