2012-01-30 18 views
7

için kullanıcı zaman tünelinden EST dönüştürmek nasıl Kullanıcıların belirli bir veri ve zaman için olayları ayarlamak için izin veren bir dinamik javascript takvimine sahip bir web uygulaması var. Kullanıcılara bildirimleri göndermem gerekiyor, bu yüzden girdikleri tarih saatini ve saat dilimini Doğu Standart Saati'ne dönüştürmem gerekiyor, böylece bildirimlerim doğru zamanda gönderiliyor.datetime jascript

Bunu javascript'te yapmak istiyorum, böylece veri zamanı değeri php'ye ulaştığında, veritabanına eklenmeden önce doğru biçimde olur.

Özetlemek gerekirse, kullanıcıların veri zamanını tam bir UTC tarihi olarak yakalayarak javascript veri tabanını ve saat dilimini, EST - New York olan sunucularımın saat dilimine dönüştürmem gerekiyor.

Bu konuda herhangi bir yardım veya yön, büyük takdir edilecektir. Thanks :)

cevap

15

Pl sen (PHP üzerinden) bunu render yaparken ben sayfaya ofset EST dilimini çekeceğine

function convertToServerTimeZone(){ 

    //EST 
    offset = -5.0 

    clientDate = new Date(); 
    utc = clientDate.getTime() + (clientDate.getTimezoneOffset() * 60000); 

    serverDate = new Date(utc + (3600000*offset)); 

    alert (serverDate.toLocaleString()); 


} 
+0

Bu çalışır! Sayfayı sayfada datetime görüntülemek için zaman dilimini kullanıcı saatine nasıl dönüştürebilirim? –

+0

Her şey ofset. Kullanıcı saat dilimi ofsetini kullanabilir ve kullanıcı yerel ayarlarına özgü biçimde oluşturulabilmesi için tarih nesnesinde kullanılabilen işlevleri kullanabilirsiniz. – user47900

+0

kod örneği lütfen ..... Tekrar teşekkürler! :) –

0

bu senaryoyu kontrol edip istemci üzerinde UTC zamanı yakala ve ofset Aksi takdirde, sunucunuz zaman dilimlerini hareket ettirirse, sayfanız aniden yanlış zamanı bildirecektir.

Bunu yakın zamanda yaptım ve bunu yapmanın en basit yolunun aslında mySQL kullanmak olduğunu (bence bu sizin DB'niz olduğunu varsaymaktır) ve girdiğinizde BT'nin saat dilimini sizin için dönüştürmesine izin verdiğinin farkına vardım. tarih damgası. Endişelenmediğiniz sürece, bu çok iyi bir şeydir ve db'nizin yaptığı işi kesinlikle azaltmaya çalışıyorsunuz, bu rotaya gitmek isterim, JS'deki manuel TZ dönüşümlerini yapmaya çalışmaktan ziyade bu rotaya giderdim.