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

  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010