首页

Javascript

Html
Css
Node.js
Electron
移动开发
小程序
工具类
服务端
浏览器相关
前端收藏
其他
关于
公司注册

javascript判断是否有夏令时(Daylight Saving Time)

2014年07月22日 发布 阅读(4127) 作者:Jerman

当你的项目中的时间需要考虑时区,夏令时时,下面判断夏令时的方法就很有用了!

什么是夏令时?

夏时制(Daylight Saving Time:DST),又称“日光节约时制”和“夏令时间”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家具体规定不同。目前全世界有近110个国家每年要实行夏令时。 自2011年3月27日开始俄罗斯永久使用夏令时,把时间拨快一小时,不再调回。

  1. //判断是否为夏令时
  2. Date.prototype.isDST = function () {
  3. // Generate test dates
  4. var Jan1 = new Date(this.getFullYear(), 0);
  5. var Jul1 = new Date(this.getFullYear(), 6);
  6. // DST in the Northern hemisphere is "fall back"
  7. if (Jan1.getTimezoneOffset() > Jul1.getTimezoneOffset() && this.getTimezoneOffset() != Jan1.getTimezoneOffset()) {
  8. return true;
  9. };
  10. // DST in Southern hemisphere is "leap ahead"
  11. if (Jan1.getTimezoneOffset() < Jul1.getTimezoneOffset() && this.getTimezoneOffset() != Jul1.getTimezoneOffset()) {
  12. return true;
  13. };
  14. // We're not in DST
  15. return false;
  16. };
版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处