开发者问题收集

格式化日期数组[重复]

2019-11-25
1892

我有这个数组:

["2019-01-01", "2019-01-02", "2019-01-03"]

但我需要这样的日期:

["01-01-2019", "02-01-2019", "03-01-2019"]

这是我得到的:

var newdate= Date.parse(olddate);
console.log(newdate.toString('dd-MMM-yyyy'));

我收到此错误:

Uncaught RangeError: toString() radix argument must be between 2 and 36

谢谢

2个回答

一种选择是将输入数组映射到具有所需格式的新日期字符串数组,如下所示:

const input = ["2019-01-01", "2019-01-02", "2019-01-03"];

const output = input.map((str) => {
  
  /* Split date string into sub string parts */
  const [year, month, date] = str.split("-");
  
  /* Compose a new date from sub string parts of desired format */
  return `${date}-${month}-${year}`;      
});

console.log(output);

此处, input 中的每个日期字符串都由 “-” 拆分为 yearmonthdate 子字符串。然后,从先前提取的子字符串组成具有所需格式的新日期字符串,并从映射回调中返回。

Dacre Denny
2019-11-25

您可以使用Momentjs https://momentjs.com/guides/ 和做到这一点如下。

469089726
luckysoni
2019-11-25