如何将 12 小时日期和时间转换为 24 小时日期和时间

how to convert 12 hours date and time to 24 hour date and time

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

例如:“2021-04-16,5:54 下午”作为 string

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

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

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

测试此代码,它可能会工作

moment("2021-04-16 05:54 PM", 'YYYY-MM-DD hh:mm:ss A').format('HH:mm:ss');

如果您为 moment() 提供格式,format 必须匹配 完整的输入日期 ,而不仅仅是时间,所以正确的格式是:'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 should not be used for new projects