SORU
9 AĞUSTOS 2012, PERŞEMBE


Eğer bir kaç saat için ise eğer gün Işığından yararlanma Saati geçerli olup olmadığını kontrol edin ve

JavaScript kullanarak nasıl eğer gün Işığından yararlanma Saati (DST) şu anda kullanımda olup olmadığını ve varsa kaç saat için ise kontrol edebilirim?

Bu kendisi için bu gereklidir js kodumu biraz

var secDiff=Math.abs(Math.round((utc_date-this.premiere_date)/1000));
this.years=this.calculateUnit(secDiff,(86400*365));
this.days=this.calculateUnit(secDiff-(this.years*(86400*365)),86400);
this.hours=this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)),3600);
this.minutes=this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)),60);
this.seconds=this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)-(this.minutes*60)),1);

Datetime önce almak istiyorum, ama eğer DST kullanılıyorsa, o zaman bu tarihler 1 saat yanlış, bu benim sorunum. Eğer DST kullanımda olup olmadığını kontrol etmek için nasıl bilmiyorum.

Nasıl gün ışığından yararlanma başlar ve biter? <--- bu bana yardımcı olabilir diye düşünüyorum. Sadece bulamıyorum.

CEVAP
9 AĞUSTOS 2012, PERŞEMBE


Kodu this article tarafından verilen Yaz Saati yürürlükte olup olmadığını söyleyecektir. GetTimezoneOffset DST ve standart saat boyunca farklı bir değer döndürür gerçeği kullanır, ve bu ikisi arasındaki farkı karşılaştırır. (örneğin New York -5 normalde ve DST sırasında -4 verir)

Uluslararası saat dilimleri inceliklerini konusunda hiçbir fikrim yok, ve benim tek zaman dilimi için doğru sonuç verir test var ama kod iyi görünüyor unutmayın.

var today = new Date();
if (today.dst()) { alert ("Daylight savings time!"); }

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();
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How To Cook That

    How To Cook

    16 NİSAN 2011
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006
  • sghaff1

    sghaff1

    23 Mart 2009