Javascript 确定UTC值在用户时区中的AM或PM

Javascript 确定UTC值在用户时区中的AM或PM,javascript,datetime,Javascript,Datetime,我有一个UTC值,我需要确定该值的时间成分是用户时区中的AM还是PM 例如,如果值为2017年7月21日16:00 UTC,且用户的时区为美国太平洋时区,则这将是一个上午时间,即上午。使用此功能获取上午/下午值,您可以根据需要更改脚本(因为当前仅显示上午/下午小时) 函数格式AMPM(日期){ var hours=date.getHours(); var minutes=date.getMinutes(); var ampm=小时数>=12?“下午”:“上午”; 小时数=小时数%12; 小时数=

我有一个UTC值,我需要确定该值的时间成分是用户时区中的AM还是PM


例如,如果值为2017年7月21日16:00 UTC,且用户的时区为美国太平洋时区,则这将是一个上午时间,即上午。

使用此功能获取上午/下午值,您可以根据需要更改脚本(因为当前仅显示上午/下午小时)

函数格式AMPM(日期){
var hours=date.getHours();
var minutes=date.getMinutes();
var ampm=小时数>=12?“下午”:“上午”;
小时数=小时数%12;
小时数=小时数?小时数:12;//小时数“0”应为“12”
分钟=分钟<10?'0'+分钟:分钟;
var strTime=hours+':'+minutes+''+ampm;
返回时间;
}
console.log(formatAMPM(新日期('2017年7月21日16:00 UTC'));//将显示AM/PM值

注意:当javascript将所有日期转换为本地时区时,显示的值将与系统时间一致。

解析为
Date
对象,然后对其执行
getHours()
。如果大于11,则为PM.check out moment.js,这会有所帮助
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