简体   繁体   English

JavaScript:日期时间字符串格式的数字数组

[英]JavaScript: Array of numbers to date-time string format

I have an array of number我有一个数字数组

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

and I need to convert to date-time formar我需要转换为日期时间形式

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

I only have year which is an integer我只有整数年

You can use map and concat -00-00 on each element您可以在每个元素上使用map和 concat -00-00

 var year = [1999,2000,2001,2002,2003]; let op = year.map(e => e+'-00-00') console.log(op)

You can use Array#map to do it.您可以使用Array#map来做到这一点。 But the returned array will have the values as string not as Date object.但是返回的数组的值将作为字符串而不是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);

You could use a IIFE generator function with the spread syntax and yield each value into an array like so:你可以使用一个IIFE 发生器功能传播语法yield每个值到这样一个数组:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM