我正在尝试将事件插入日历。问题是我的事件的结构是这样的:xx/xx/xxxx
,日历使用了另一种格式
xx-xx-xxxx
。我该如何进行转换?
我已将日期从JSON格式转换为字符串,但无法将/
更改为-
。
data.forEach(function (element) {
let date = new Date(element.sessionDate)
datesArr.push(date.toLocaleDateString())
})
console.log(datesArr)
现在我的数组如下:
0:“ 2018年12月24日”
1:“ 2018年12月27日”
2:“ 2019年1/3”
3:“ 2019年1/3”
4:“ 2019年1月7日”
我希望日历接收事件的预期结果应该是:['2019-03-04', '2019-03-08', '2019-03-12', '2019-03-15']
。
答案 0 :(得分:2)
有两种方法可以做到这一点:
您可以使用正则表达式替换它们,然后将匹配的值重新粘合在一起。
const input = '12/24/2018';
const parts = input.split('/');
const output = `${parts[2]}-${parts[0]}-${parts[1]}`;
console.log(new Date(output));
您可以使用正则表达式替换它们,然后将匹配的值重新粘合在一起。
const input = '12/24/2018';
const output = input.replace(/(\d{1,2})\/(\d{1,2})\/(\d{4})/, '$3-$1-$2');
console.log(new Date(output));
答案 1 :(得分:1)
通过“ /”分隔符分隔字符串值可得到结果数组。然后将数组与“-”连接起来以返回字符串结果。使用Array.map()转换为新数组。
const dates = ['2019/03/04', '2019/03/08', '2019/03/12', '2019/03/15'];
const formattedDates = dates.map( date => date.split("/").join("-"));
console.log(formattedDates); //["2019-03-04", "2019-03-08", "2019-03-12", "2019-03-15"]