gpt4 book ai didi

javascript - 以字符串形式获取网络用户的时区

转载 作者:行者123 更新时间:2023-11-28 19:47:20 25 4
gpt4 key购买 nike

我正在创建一个网站,用户将在其中上传问题和答案。现在我需要获取用户的时区,我可以将其存储在变量 $TimeZoneNameTo 中,而不仅仅是“亚洲/加德满都”。无论如何,时区作为字符串将被检测并存储在变量 $TimeZoneNAmeTo 中,因此对于任何时区的任何用户,日期时间将在显示时转换为他/她的时区而不是 UTC。

$TimeZoneNameFrom="UTC";
$TimeZoneNameTo="Asia/Kathmandu";
echo "uploaded on".$upload_date;
echo"<br>";
echo date_create($upload_date, new DateTimeZone($TimeZoneNameFrom))
->setTimezone(new DateTimeZone($TimeZoneNameTo))->format("Y-m-d H:i:s");

最佳答案

如果您只想根据用户的系统设置显示时间,则只需将 UTC 时间值发送到客户端即可。该值应为自 1970-01-01T00:00:00Z 以来的毫秒数。 UNIX 使用自同一纪元以来的秒数,因此您只需将 UNIX UTC 时间戳乘以 1000:

var newLocalDate = new Date(UNIXutcTimeValue * 1000);

现在只需以用户可读的形式呈现它,例如使用 Date.prototype.toLocaleString :

alert(newLocalDate.toLocaleString());

例如2014-06-06T12:00:00Z 是 1402056000 秒或 1402056000000 毫秒,因此在 Safari 中:

alert(new Date(1402056000000).toLocaleString()) // 6 June 2014 20:00:00 AWST

当然,您始终可以使用 Date 方法来格式化字符串。

关于javascript - 以字符串形式获取网络用户的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24061115/

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