- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个工作脚本,我将其推送到我们组织中每个人的 IE 收藏夹列表中(见下文)。根据办公室在公司中的地理位置,它们会被路由到 4 个网址中的 1 个。
<html>
<body>
<script language="JavaScript">
var today = new Date();
var offset = (today.getTimezoneOffset() / 60) + 1;
if (offset == 5) document.location.href = "url=EASTERNtime.com";
else if (offset == 6) document.location.href = "url=CENTRALtime.com";
else if (offset == 7) document.location.href = "url=MOUNTAINtime.com";
else if (offset == 8) document.location.href = "url=pacifictime.com";
else document.location.href = "url=pickyourowntimezone.com";
</script>
</body>
</html>
我想知道夏令时将如何影响我的脚本,因为我知道我们在亚利桑那州设有办事处,但他们不认识它。我需要对脚本进行哪些更改才能确保人员仍然正确路由?我在想类似的事情......
如果日期在 3 月 11 日到 11 月 4 日之间,则运行此...如果不是...运行此...
这有道理吗?或者我是否需要担心这个,当他们的时钟改变或不改变时,一切都会自行解决?
最佳答案
我的日期扩展有识别 DST 的方法:
http://depressedpress.com/javascript-extensions/dp_dateextensions/
如果日期符合本地 DST,dateinstance.isDST() 方法将返回“true”,否则返回“false”。
但总体想法既非常简单又令人费解且可怕(因为这实际上只是一个愚蠢的猜测)。基本上,无论使用 DST(或类似方案),还是定义开始和结束日期,1 月 1 日之间的时区偏移量都不会与 7 月 1 日相同。添加一些代码以纪念南半球让每个人都倒退和错误的事实(我开玩笑!)一个确定任何特定日期(以及我的扩展中使用的日期)的简单函数是:
// isDST
// Returns "true" if the date appears to fall within the local area's Daylight Saving Time (or similar scheme), returns false if the date does not (or it appears that the region doesn't observe DST).
Date.prototype.isDST = function() {
// Generate test dates
var Jan1 = new Date(this.getFullYear(), 0);
var Jul1 = new Date(this.getFullYear(), 6);
// DST in the Northern hemisphere is "fall back"
if ( Jan1.getTimezoneOffset() > Jul1.getTimezoneOffset() && this.getTimezoneOffset() != Jan1.getTimezoneOffset() ){
return true;
};
// DST in Southern hemisphere is "leap ahead"
if ( Jan1.getTimezoneOffset() < Jul1.getTimezoneOffset() && this.getTimezoneOffset() != Jul1.getTimezoneOffset()){
return true;
};
// We're not in DST
return false;
};
使用 TZ 数据库的解决方案更加强大,因为它们可以确定正在使用哪个时区 - 但在确定时间是否处于 DST 时通常同样无能(因为开始和结束时间的规则是经常在变化)。
根据您的需要,我认为上面的代码应该可以解决问题。
关于美国的javascript时区脚本如何进行夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12734048/
举个例子,让我们使用以下 cron 表达式:“0 0 14 1 * ?” -> 在每月第一天的 14:00 触发。 我使用 Quartz CronScheduleBuilder 来构建表达式,但这无关
由于某种原因,夏令时开始时,我的一个网站在午夜 12:00 自动发布,从晚上 11:00 开始发布。有什么方法可以设置 MySQL 服务器变量以正确处理夏令时更改吗? 最佳答案 请提供... SHOW
如何检查夏令时是否生效? 最佳答案 您可以使用time.localtime并查看返回值中的 tm_isdst 标志。 >>> import time >>> time.localtime() (201
我有一个奇怪的问题: 我从 mysql 数据库中获取一些数据,我将这些数据用 strotime 转换为时间戳。然后我将这些时间戳与 for 循环进行比较: for ($i=$start;$imodif
如何检查夏令时是否有效? 最佳答案 您可以使用 time.localtime并查看返回值中的 tm_isdst 标志。 >>> import time >>> time.localtime() (20
我使用以下代码在文件中生成日期: echo "DTSTART;TZID=" . date_default_timezone_get() . ":" . strftime('%Y%m%d', strto
在下面,为什么 to_char() 中不包含夏令时?我怎样才能获得夏令时的时间? SELECT systimestamp AT TIME ZONE 'Australia/Adelaide' from
以下是连续两天之间的小时数计算: (AbsoluteTime[{2011, 3, 14}] - AbsoluteTime[{2011, 3, 13}]) / 3600 因此,您可能不会对 Mathem
function DateTimeToFileTime(FileTime: TDateTime): TFileTime; var LocalFileTime, Ft: TFileTime; S
我制作了一个小代码片段。告诉你几岁,精确到秒。 但是我发现了一些奇怪的事情。我知道时间和时区是工作的噩梦,但这是在我自己的国家和时区内,所以我有点困惑。 如果我输入日期。 27-12-2013(dd-
在 Jenkins 的夜间构建中,我们的一项测试在凌晨 2:00:12 失败。经过一段时间的调试和更改计算机的系统时间后,我感到非常困惑。然后我写了下面的测试(模拟问题),它失败了,但我不明白为什么。
linux如何处理夏令时(DST) 切换是否立即发生,例如 3 点钟立即切换到 2 点钟?或者变化缓慢我问你这个是因为我的服务器上有很大的日期基础,如果这个切换在数据库中的条目上立即发生一小时,将会
我正在使用 NSDate 格式化程序从 Facebook Graph API 请求(格林威治标准时间)获取日期并将其转换为用户的本地时区。我可以很好地读取日期并设置它的新时区,但是当我打印出新日期时,
我的 API 使用 ISO 8601 向客户端表示时间。我们有一个功能,我们希望显示它来自哪个时区。通过纯粹存储时区偏移,我们正在失去对细节的跟踪。 即,犹他州和亚利桑那州遵守 MST -06:00半
PHP代码 $t = strtotime( '2012-09-21T03:00:00+00:00 America/Chicago' ); $t2 = date('c',$t); echo $t2;
PHP代码 $t = strtotime( '2012-09-21T03:00:00+00:00 America/Chicago' ); $t2 = date('c',$t); echo $t2;
我有这个问题。我有这个格式的日期 var datestring = "2017-10-30T15:03:10.933044Z"; 如果我这样写代码 var d = new Date(datestrin
每当日光切换发生时,我都会触发事件。 我知道何时会发生 Spring /秋季切换 TimeZone.CurrentTimeZone.GetDaylightChanges(year) 这会返回 2 个日
我正在开发一个关心夏令时变化的关键应用程序。 我试图通过比较跨越夏令时变化的日期来手动模拟运行时可能发生的情况,因此我进行了以下测试。我当前所在的位置是意大利,因此今年从 CEST(中欧夏令时)更改为
我有这个应用程序,它将当前日期与来自 xml 文件的已解析日期进行比较: Date timeDiff = new Date(date.getTime() - new Date().getTime())
我是一名优秀的程序员,十分优秀!