qad*_*nza 27 javascript jquery datetime
我有大城市名字的按钮.
点击它们,我想获得当地时间.
$('#btnToronto').click(function () {
var hours = new Date().getHours();
var hours = hours-2; //this is the distance from my local time
alert ('Toronto time: ' + hours + ' h'); //this works correctly
});
Run Code Online (Sandbox Code Playgroud)
但我怎样才能获得AM或PM?
小智 30
您应该能够检查小时数是否大于12.
var ampm = (hours >= 12) ? "PM" : "AM";
Run Code Online (Sandbox Code Playgroud)
但是你在减去2之前考虑过小时小于2的情况吗?您的小时数最终会为负数.
Tec*_*tes 21
试试以下代码:
$('#btnToronto').click(function () {
var hours = new Date().getHours();
var hours = (hours+24-2)%24;
var mid='am';
if(hours==0){ //At 00 hours we need to show 12 am
hours=12;
}
else if(hours>12)
{
hours=hours%12;
mid='pm';
}
alert ('Toronto time: ' + hours + mid);
});
Run Code Online (Sandbox Code Playgroud)
小智 8
你可以这样使用,
var dt = new Date();
var h = dt.getHours(), m = dt.getMinutes();
var _time = (h > 12) ? (h-12 + ':' + m +' PM') : (h + ':' + m +' AM');
Run Code Online (Sandbox Code Playgroud)
希望通过分钟也会更好.
小智 5
const now = new Date()
.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', hour12: true })
.toLowerCase();
Run Code Online (Sandbox Code Playgroud)
基本上你只需要输入{hour12: true}就可以了。
结果 => 现在 = "21:00 pm";