将字符串数组转换为dateTimes数组

时间:2018-10-24 16:43:34

标签: javascript arrays type-conversion

此处是初学者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数据类型。

2 个答案:

答案 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));
}