【问题标题】:Determining AM or PM in user time zone for UTC value在用户时区中确定 UTC 值的 AM 或 PM
【发布时间】:2017-07-21 20:49:05
【问题描述】:

我有一个 UTC 值,我需要确定该值的时间部分是用户所在时区的 AM 还是 PM。

例如,如果值为 July 21, 2017 16:00 UTC 并且用户的时区是美国太平洋时区,则这将是早上的时间,即 AM。

【问题讨论】:

  • 解析成Date 对象,然后对其执行getHours()。如果大于 11,则为 PM。
  • 查看 moment.js 它可以提供帮助

标签: javascript datetime


【解决方案1】:

使用此函数获取 AM/PM 值,您可以根据需要更改脚本(目前它仅显示 AM/PM 小时数)

function formatAMPM(date) {
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var ampm = hours >= 12 ? 'pm' : 'am';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  var strTime = hours + ':' + minutes + ' ' + ampm;
  return strTime;
}

console.log(formatAMPM(new Date('July 21, 2017 16:00 UTC'))); // will show AM/PM value

注意:由于 javascript 会将所有日期转换为您的本地时区,因此显示的值将根据您的系统时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2019-02-24
    • 2012-10-17
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多