首页 > 解决方案 > 如何在函数 worldClockZone 中计算 4 小时 30 分钟的偏移量

问题描述

我想用 4 小时 30 分钟到 GMT 计算下面的代码,但我不知道在这段代码中添加 30 分钟,有人可以帮我吗?

    function worldClockZone(){
document.getElementById("Dehli").innerHTML = worldClock(4, "India")

虽然德里是城市,但 4 是时间偏移量(我需要改为 04:30),而印度是地区。

提前致谢

标签: javascriptfunctionoffset

解决方案


我将假设您正在使用以下代码:

https://www.proglogic.com/code/javascript/time/worldclock.php

代码似乎匹配,所以我会试一试,因为它足够通用并且可能对其他人有用。照原样,该功能worldClock不支持这种行为。但是,您可以进行一些修补。添加以下内容:

// handle float
var remainder = Math.floor( ( zone % 1 ) * 60 )
zone = Math.floor( zone )

在将 zone 参数添加到之前hr

var hr = gmtTime.getHours() + zone
var min = gmtTime.getMinutes()
var sec = gmtTime.getSeconds()

之后处理剩余的分钟:

// make sure to adjust hr and min accordingly
min += Math.abs( remainder )
hr += ( remainder != 0 && min >= 60 ? 1 : 0 )
min %= 60

然后调用:

function worldClockZone(){
document.getElementById("Dehli").innerHTML = worldClock(4.5, "India")

这应该适用于所有浮点数,包括负数。


推荐阅读