首页 > 解决方案 > 如何将日期对象转换为仅输出 hh:mm am/pm

问题描述

我正在尝试将以下内容转换为 12 小时上午/下午格式。

目前我正在接收日、月、年和时区。

通过添加 .toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(. )/, "$1$3")*

<div id="time1"></div>
<div id="time2"></div>
var date = new Date('08/16/2019 12:00:00 PM UTC').toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3")
document.getElementById("time1").innerHTML = date;

var date = new Date('08/16/2019 6:00:00 am UTC').toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3")
document.getElementById("time2").innerHTML = date;

标签: javascriptjqueryhtmltime

解决方案


基本上你需要做的是使用 Date() 默认的 javascript 函数并确保你附加了 UTC 时区:

var date = new Date('08/16/2019 7:00:00 PM UTC')

date.toString=() //will then print out the timezone adjusted time

"Fri Aug 16 2019 22:00:00 GMT+0300 (Eastern European Summer Time)"

推荐阅读