此处是初学者javascript学习者,尝试仅使用香草将字符串数组转换为dateTimes数组。
样本输入:
["2018-07-16T14:28:03.123",
"2018-07-20T14:00:27.123",
"2018-07-26T13:31:12.123",
"2018-08-12T13:03:37.123",
"2018-09-24T12:35:46.123"]
想要的输出:
[2018-07-16T14:28:03.123,
2018-07-20T14:00:27.123,
2018-07-26T13:31:12.123,
2018-08-12T13:03:37.123,
2018-09-24T12:35:46.123]
我的字符串值始终是dateTime字符串表示形式,因此我一直在尝试利用new Date(stringDateTime)
将每个字符串转换为与dateTime对应的字符串,但在如何导航数组和构建数组时遇到了麻烦新的具有适当的dateTime数据类型。
答案 0 :(得分:3)
使用map函数:
var datesStr = ["2018-07-16T14:28:03.123", "2018-07-20T14:00:27.123", "2018-07-26T13:31:12.123", "2018-08-12T13:03:37.123", "2018-09-24T12:35:46.123"]
var dates = datesStr.map(d => new Date(d));
答案 1 :(得分:0)
虽然Igal的答案更为简洁明了,但我将尝试展示一种更基本的解决方案,其中使用for循环和new Date():
var stringDates = ["2018-07-16T14:28:03.123",
"2018-07-20T14:00:27.123",
"2018-07-26T13:31:12.123",
"2018-08-12T13:03:37.123",
"2018-09-24T12:35:46.123"];
var dateObjects = [];
//Loop over your string array and push dates in your dateObjects array
for (var index in stringDates) {
var stringDate = stringDates[index];
dateObjects.push(new Date(stringDate));
}