📌  相关文章
📜  hackerrank 时间转换解决方案 - Javascript (1)

📅  最后修改于: 2023-12-03 15:15:27.870000             🧑  作者: Mango

HackerRank 时间转换解决方案 - JavaScript

在 HackerRank,您经常需要转换不同的时间格式。在这个时间转换解决方案中,我们将展示如何将一个包含 AM/PM 时间格式的字符串转换为 24 小时格式。例如,将 '07:05:45PM' 转换为 '19:05:45'。

解决方案

以下是我们的解决方案,其中使用了字符串分割、数组拼接和条件运算符。

function timeConversion(s) {
    let timeArr = s.slice(0, 8).split(':');
    timeArr[0] = (s.indexOf('PM') > -1) ? (timeArr[0] == 12 ? '12' : Number(timeArr[0]) + 12) : (timeArr[0] == 12 ? '00' : timeArr[0]);
    return timeArr.join(':');
}

让我们更详细地解释一下代码:

  1. 我们首先使用 slice() 方法获取原始字符串的前 8 个字符,即时间。
  2. 接下来,我们使用 split() 方法将字符串按冒号分割成一个数组,其中包括小时、分钟和秒。
  3. 然后,我们检查原始字符串中是否包含 'PM',如果包含,则将小时加上 12 小时。如果小时等于 12,则说明是下午 12 点,不需要再加上 12 小时。如果原始字符串中不包含 'PM',则我们将小时保持不变。
  4. 最后,我们将数组拼接为一个格式为 'hh:mm:ss' 的字符串,并返回它。
总结

我们的时间转换解决方案使用了字符串分割、数组拼接和条件运算符。使用这种方法,我们可以将包含 AM/PM 时间格式的字符串转换为 24 小时格式。希望这个解决方案对您有所帮助!