UTC 时间不是以 24 小时格式显示的,并且在上午 12 点之后不正确
UTC Time displayed not in 24 hour format and not correct after 12am
我正在使用一个简单的javascript来显示我所在国家的当地时间,但它似乎不正确,并且没有以正确的顺序正确显示。午夜 12 点之后,时钟应该重置为 AM,但它一直显示下午的时间。
身体:
<body onload="updateClock(); setInterval('updateClock()', 1000 )">
//div tags, elements etc
</body>
.JS:
function updateClock (){
var currentTime = new Date();
var currentHours = currentTime.getUTCHours() + 8;
var currentMinutes = currentTime.getUTCMinutes();
var currentSeconds = currentTime.getUTCSeconds();
// var bucurestiOffset = 3*60000;
// var userOffset = currentTime.getTimezoneOffset()*60000;
currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";
currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;
currentHours = ( currentHours == 0 ) ? 12 : currentHours;
var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds + " " + timeOfDay;
document.getElementById("clock").firstChild.nodeValue = currentTimeString;
}
结果是这样的:下午 13:57,而应该是凌晨 1:57。不知道如何解决它。
currentTime.getUTCHours() + 8
可以大于24
,这会导致许多错误(例如小时不正确,但日,月或年不正确)。
您应该寻找像 moment.js 这样的库,以更好地处理时区和时间格式。
这将允许您使用当前+8
时区的方法,但根据此函数准确计算它。
function calcTime(city, offset) {
// create Date object for current location
d = new Date();
// convert to msec
// add local time zone offset
// get UTC time in msec
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
// create new Date object for different city
// using supplied offset
nd = new Date(utc + (3600000*offset));
return nd
}
[来源]
相关文章:
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- Amazon S3 REST API大小不正确
- Javascript Reg Exp不正确匹配
- DIV并排,位置不正确
- 仅在IE中,javascript中的时区名称不正确
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 你能解释一下为什么这个javascript不正确吗
- 从int值来看,Javascript日期不正确
- jQuery-迭代不正确?(太长,无法执行)
- 字符串解析不正确
- 日历显示不正确
- 引导程序下拉列表显示不正确
- Node.js:多个然后'It’执行顺序不正确
- Highcharts热图显示不正确
- Firefox使用JQuery返回不正确的JSON
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- Mongoose响应解析不正确
- 由于布尔值的变化,Django视图中的字符串格式不正确
- 在 sort() 之后,十进制数的 JavaScript 数组顺序不正确
- UTC 时间不是以 24 小时格式显示的,并且在上午 12 点之后不正确