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

  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • Tips On Linux

    Tips On Linu

    26 Temmuz 2008
  • WHZGUD2

    WHZGUD2

    21 EYLÜL 2011