如何从日期字符串中获取日期(2位数)

时间:2017-11-20 21:23:27

标签: javascript datetime

我的反应组件中有一个名为dateEnd的变量中的日期字符串,如此Mon Nov 20 2017 23:59:59 GMT-0200,我想提取日期(20)并将其转换为数字。

这是我的代码:

let dateEnd = rangePicker['endDate'] && rangePicker['endDate'].toString();

我该怎么做?

我试过这样的事情:

let dateEndNum = parseInt(dateEnd.replace(/^\D+|\D.*$/g, ""), 10);

但是返回一个错误,因为.replace未定义。

此外,我想得到初始日期和结束日期,以计算这些日期之间的天数。

3 个答案:

答案 0 :(得分:1)

这会返回一个布尔值。

let dateEnd = rangePicker['endDate'] && rangePicker['endDate'].toString();

你想要的是这样的:

let dateEnd = rangePicker['endDate'] ? rangePicker['endDate'].toString() : '';

答案 1 :(得分:0)

虽然这与React无关,但我建议使用momentjs,你可以使用日期字符串创建一个时刻对象,并且可以让你想要的其中一个函数。

答案 2 :(得分:0)

您的问题与反应无关。但是我建议你试试moment.js - 它是一个超级强大的js库,用于处理日期时间对象。在你的情况下:

const momentDate = moment("Mon Nov 20 2017 23:59:59 GMT-0200");
const extractedDays = momentDate.date();