如何将时间数组转换为24小时格式

时间:2020-07-29 08:14:12

标签: javascript arrays

所以我有一个保存时间段的时间数组。我正在尝试将12小时格式转换为24小时格式,但无法正常工作

这是我到目前为止尝试过的:

let timeArray = ["11:12 AM", "11:13 AM", "1:14 PM"];
for (i in timeArray) {
  let [time, mod] = timeArray[i].split(" ");
  let [hr, min] = time.split(":");
  if (hr < 12) {
    hr = hr + 12;
  }
  console.log(hr);
}

以下是输出:

enter image description here

预期的输出应在小时数上加上12,以将其转换为24小时格式。

3 个答案:

答案 0 :(得分:0)

我建议您使用moment.js(https://momentjs.com/) 您可以使用moment.js以多种方式使用日期和时间对象

答案 1 :(得分:-1)

在timeArray中,当您尝试减少这种情况时,您会遇到字符串adn

string = string + number

let timeArray = ["11:12 AM", "11:13 AM", "1:14 PM"];
let i = 0
  for (i in timeArray) {
    let [time, mod] = timeArray[i].split(" ");
    let [hr, min] = time.split(":");
    if (mod === 'PM') {
      hr = +hr + 12;
    }
    console.log(hr);
  }

答案 2 :(得分:-1)

使用parseInt将字符串转换为整数。

let timeArray = ["11:12 AM", "11:13 AM", "1:14 PM"];
for (i in timeArray) {
  let [hr, min] = timeArray[i].split(":");
  if (hr < 12) {
    hr = parseInt(hr) + 12;
  }
  console.log(hr);
}