【问题标题】:How to convert a Date object to output only hh:mm am/pm如何将日期对象转换为仅输出 hh:mm am/pm
【发布时间】:2019-08-16 18:31:03
【问题描述】:

我正在尝试将以下内容转换为 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;

【问题讨论】:

  • @MattJohnson-Pint 更新以反映变化
  • 那么,"12pm" 您需要转换的确切输入,应该解释为当前 UTC 日期的下午 12:00?您是否尝试过任何方法来解决那个?而对于输出,你在那里寻找什么? Date 对象?特定格式的字符串?此外,您对“在我正在使用的 CDN 中不起作用”的评论非常不清楚。不需要使用 CDN 来使用 Moment 之类的库,如果您使用的是 jQuery,那么您已经在使用库了。
  • @MattJohnson-Pint 已更新以反映您的问题。 CDN = Wordpress 似乎与 Moment.js 冲突

标签: javascript jquery html time


【解决方案1】:

基本上你需要做的是使用 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)"

【讨论】:

  • 谢谢安德烈,我如何将 date.toString 转换为在没有 dd/mm/yyyy、上午/下午 12 小时、没有(时区)的情况下显示?
【解决方案2】:

有许多内置的 javascript 方法来处理转换日期对象。此示例将通过浏览器来确定日期格式和时间。

let time = Date.now();
time.toLocaleDateString();

【讨论】:

    猜你喜欢
    • 2017-04-08
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    相关资源
    最近更新 更多