我有这个数组:
["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
谢谢
答案 0 :(得分:4)
一种选择是将输入数组映射到具有所需格式的日期字符串的新数组,如下所示:
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
中的每个日期字符串都被"-"
分为year
,month
和date
子字符串。然后,由先前提取的子字符串组成具有所需格式的新日期字符串,并从地图回调中返回。
答案 1 :(得分:0)
您可以使用momentjs https://momentjs.com/guides/之类的库,并按以下方式进行操作。
var dates = ["2019-01-01", "2019-01-02", "2019-01-03"];
var formate = input.map((date) => {
return moment(moment(date)).format('DD-MM-YYYY');
});
console.log(formate);