首页 > 解决方案 > 如何仅在字符/之前显示日期?

问题描述

我有一组 ISO 8601 日期间隔(开始和结束日期)。你如何只用javascript(开始日期)选择斜线之前的日期?

var dates = [
2019-12-31T23:45:00.000-03:00/2020-01-01T10:30:00.000+06:00,
2020-01-01T07:15:00.000+07:00/2019-12-31T16:00:00.000-10:00
]

我希望结果是

[2019-12-31T23:45:00.000-03:00,2020-01-01T07:15:00.000+07:00]

我尝试了这种字符串替换方法,

let result = dates.replace(/\/.*/g, '');

但它会替换第一个括号之后的所有内容。

标签: javascriptregex

解决方案


变量 dates 是一个数组,因此您应该对此进行迭代。

var dates = [
'2019-12-31T23:45:00.000-03:00/2020-01-01T10:30:00.000+06:00',
'2020-01-01T07:15:00.000+07:00/2019-12-31T16:00:00.000-10:00'
]

// [2019-12-31T23:45:00.000-03:00,2020-01-01T07:15:00.000+07:00]

let result = dates.map(date => date.split('/')[0]);
console.log(result);

但请注意,在您的问题中,您的日期变量不是字符串类型的数组。也许它是一个日期类型的数组......


推荐阅读