【问题标题】:How to convert 12H time to 24H time in JavaScript? [duplicate]如何在 JavaScript 中将 12H 时间转换为 24H 时间? [复制]
【发布时间】:2021-12-08 00:19:54
【问题描述】:

如何在 javascript 中将 24HR 转换为 12HR? 假设我收到 "9:00 PM" 之类的 字符串 数据。 如何将其转换为 21:00

我已经在这里搜索了一些主题,但似乎找不到与我的情况匹配的主题。

【问题讨论】:

  • 您的第一段描述了两个转换方向。您要找的是谁?
  • 那么你需要哪一个? 24 到 12 还是 12 到 24?因为你的问题是矛盾的
  • @trincot 我正在尝试将时间格式从 24 小时改为 12 小时。
  • @AminSetayeshfar 该线程接受 12hr 参数。我需要将“09:00 PM”转换为“21:00”。因此,我必须将 24H 字符串提供给函数。

标签: javascript


【解决方案1】:

我建议你首先将字符串中的时间拆分为小时、分钟和代码(am/pm),然后使用 if 语句,如果代码==PM,则添加 12

let time = "10:50 PM"
let hour = time.split(" ")[0].split(":")[0]
let mins = time.split(" ")[0].split(":")[1]
let code = time.split(" ")[1]
console.log(hour, code)

let newTime = ""
if (code=="PM") {
    let newHour = Number(hour) + 12
    newTime = newHour + ":" + mins
} else {
    newTime = time.split(" ")[0]
}
console.log(newTime);

【讨论】:

    【解决方案2】:

    这样的事情会有所帮助。

    const time = "9:00 PM";
    const [hour, minute, ampm] = time.split(/[\s:]+/);
    console.log(`${+hour + (ampm === "PM" ? 12 : 0)}:${minute}`);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-22
      • 2017-05-11
      • 2019-04-06
      • 1970-01-01
      • 2020-02-08
      • 2010-10-25
      相关资源
      最近更新 更多