首页 > 解决方案 > 如何将 12 小时日期和时间转换为 24 小时日期和时间

问题描述

我有一个输出来自一个字符串,它给出了 12 小时格式的日期和时间

例如:“2021-04-16, 5:54 pm” 作为字符串

有没有办法使用 moment js 将此字符串格式解析为 24 小时日期和时间。所以它看起来像预期的输出:“2021-04-16 17:54”

我尝试了下面的代码,但没有得到预期的输出

moment("2021-04-16, 5:54 pm", 'hh:mm:ss A').format('HH:mm:ss')

标签: node.jsmomentjs

解决方案


如果您向 提供格式moment(),则格式必须与完整的输入日期匹配,而不仅仅是时间,因此正确的格式是:'YYYY-MM-DD hh:mm:ss A'而不是仅匹配hh:mm:ss A部分。

const test = moment("2021-04-16, 5:54 pm", 'YYYY-MM-DD hh:mm:ss A').format('YYYY-MM-DD HH:mm:ss');
console.log(test);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

2021-04-16 17:54:00

注意Moment.js 不应该用于新项目


推荐阅读