gpt4 book ai didi

Javascript 在没有 DST 的情况下无法获取时区

转载 作者:行者123 更新时间:2023-11-28 01:08:46 26 4
gpt4 key购买 nike

我正在尝试设置 PHP 的用户时区偏移量,通过 ajax 发送。页面已加载 session 数据。如果没有数据,则会将其放入页面中:

<script type="text/javascript">
$(document).ready(function() {
var visitortime = new Date();
visitortime.setMonth(1);
var visitortimezone = visitortime.getTimezoneOffset()*60;
$.ajax({
url: "/ajax/timezone/set/"+ visitortimezone,
success: function(){
location.reload();
}
});
});
</script>

没有visitortime.setMonth(1);它运行良好并返回正确的偏移量。但有了它,它只返回0。

我希望能够在没有 DST 的情况下获取时区偏移,然后在 PHP 端运行 DST 检查。

最佳答案

我设法用这段代码修复了它:

Date.prototype.stdTimezoneOffset = function() {
var jan = new Date(this.getFullYear(), 0, 1);
var jul = new Date(this.getFullYear(), 6, 1);
return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
}

Date.prototype.dst = function() {
return this.getTimezoneOffset() < this.stdTimezoneOffset();
}

$(document).ready(function() {
var visitortime = new Date();
var visitortimezone = visitortime.getTimezoneOffset()*60;

if(visitortime.dst()){
visitortimezone = visitortimezone + 60*60;
}

$.ajax({
type: "GET",
url: "/ajax/timezone/set/"+ visitortimezone,
success: function(){
location.reload();
}
});
});

在这里找到:Check if Daylight Saving Time is in effect, and if it is for how many hours .

关于Javascript 在没有 DST 的情况下无法获取时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24746529/

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