【发布时间】:2017-04-06 18:53:26
【问题描述】:
我有这个日期 20/4/2016;4:23:00;PM
但我想像这样输入 DD/MM/YYYY HH:mm:ss 没有 AM 或 PM
例如 20/04/2016 16:23:00
提前致谢 卡洛斯·维埃拉
【问题讨论】:
-
只需重新格式化字符串。
标签: javascript date format
我有这个日期 20/4/2016;4:23:00;PM
但我想像这样输入 DD/MM/YYYY HH:mm:ss 没有 AM 或 PM
例如 20/04/2016 16:23:00
提前致谢 卡洛斯·维埃拉
【问题讨论】:
标签: javascript date format
在 javascript 中,您的情况支持的格式是“MM/DD/YYYY hh:mm:ss AM”或“MM/DD/YYYY hh:mm:ss PM”。 如果您将提供“04/20/2016 11:00:06 PM”之类的输入,那么您将获得日期格式“Fri Mar 04 2016 23:00:06 GMT+0530 (IST)”的输出,您可以将其保存. 您可以在此处放置“04/20/2016 11:00:06Z PM”标记并根据 UTC 获取结果。 供参考https://www.w3schools.com/js/js_date_formats.asp
【讨论】:
一种方法是重新格式化字符串并将时间部分转换为 24 小时制,例如:
function reformatDate(s) {
var b = s.split(';');
var t = b[1].split(':');
var h = +t[0];
h = h%12 + (/pm/i.test(b[2])? 12 : 0);
return b[0] + ' ' + h + ':' + t[1] + ':' + t[2];
}
console.log(reformatDate('20/4/2016;4:23:00;PM')); // 20/4/2016 16:23:00
这避免了将整个字符串解析为日期然后重新格式化的变幻莫测。如果这是您想要做的,这里已经有很多关于解析和格式化日期的问题:
【讨论】: