gpt4 book ai didi

javascript - 在 JavaScript 中为运行时钟设置时区

转载 作者:行者123 更新时间:2023-11-29 18:04:39 25 4
gpt4 key购买 nike

大家好。我有一个运行时钟的漂亮而干净的代码。

<script type="text/javascript">

function DisplayTime(){
if (!document.all && !document.getElementById)
return
timeElement=document.getElementById? document.getElementById("curTime"): document.all.tick2
var CurrentDate=new Date()
var hours=CurrentDate.getHours()
var minutes=CurrentDate.getMinutes()
var seconds=CurrentDate.getSeconds()
var DayNight="PM"
if (hours<12) DayNight="AM";
if (hours>12) hours=hours-12;
if (hours==0) hours=12;
if (minutes<=9) minutes="0"+minutes;
if (seconds<=9) seconds="0"+seconds;
var currentTime=hours+":"+minutes+":"+seconds+" "+DayNight;
timeElement.innerHTML="<font style='font-family:Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&subset=latin,cyrillic-ext,latin-extfont-size:14px;color:#fff;'>"+currentTime+"</b>"
setTimeout("DisplayTime()",1000)
}
window.onload=DisplayTime

</script>

我唯一的问题是它基于系统时间。如何设置时区,以便它根据指定的时区显示正确的时间?

最佳答案

除了本地(系统)时间和 UTC 之外,JavaScript Date 对象没有内置任何处理任何时区的内容。

您可以通过为您的 Date 实例提供错误的时间,使用其中一个时区(本地或 UTC)与您想要的时区之间的差值来实现使用。如果您使用 UTC,会更容易。

例如,假设我们希望时间为 GMT+01:00:

var dt = new Date();
dt.setTime(dt.getTime() + (60 * 60 * 1000));
// ^^^^^^^^^^^^^^---- one hour in milliseconds,
// which is our offset from UTC/GMT
var hours = dt.getUTCHours(); // Use UTC methods to get time
var minutes = dt.getUTCMinutes();
var seconds = dt.getUTCSeconds();

时间的东西,尤其是时区,是很难的。您可能会考虑为它使用一个库,尽管对于这种时钟来说太过分了。一个好的图书馆是 MomentJS (它有一个时区附加组件)。

关于javascript - 在 JavaScript 中为运行时钟设置时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32284586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com