Javascript 确定UTC值在用户时区中的AM或PM
我有一个UTC值,我需要确定该值的时间成分是用户时区中的AM还是PMJavascript 确定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; 小时数=
例如,如果值为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