Arizona zaman bir East Coast Zaman Damgası yazdırma

1 Cevap

Kod güzel bir biçimde "datesubmitted" döndürür. "Datesubmitted" alan East Coast bir zaman damgası olduğunu. Ben Arizona zaman olarak nasıl çıktısını alabilir miyiz? Şu anda, o East Coast zaman arkasında 3 saat olacaktır.

Şimdilik, ben sadece bunu yapmak için mutlu olurdu. Ancak, yılın diğer bölgelerinde (Gün Işığından süre kullanılmadığı zaman) sırasında, Arizona zamanı sadece 2 saat East Coast zaman arkasında. Arizona zamanı her zaman doğru görüntülenecek şekilde aşağıda tarihini yazdırmak bir yolu var mı? Yoksa Yaz Tasarruf zaman durur ve başlar ne zaman kodunu değiştirmek olurdu?

Teşekkür peşin,

John

date('l, F j, Y &\nb\sp &\nb\sp g:i a &\nb\sp &\nb\sp  \N\E\W &\nb\sp \Y\O\R\K &\nb\sp \T\I\M\E', strtotime($row["datesubmitted"]))

1 Cevap

DateTime class göz atın. Onun setTimezone() yöntemi (Notlar Katkıda Kullanıcı örneklere bakın) sizin için çalışması gerekir. Bu yaz saati farkındadır. Desteklenen zaman dilimleri listesi için listIdentifiers() bakın.

Kılavuzun A modifiye örnek, bugün dönüştürme, New York saati ile 14:00 MST:

<?php
$MSTTZ = new DateTimeZone('MST');
$ESTTZ = new DateTimeZone('America/New_York');

$dt = new DateTime('04/20/2010 2:00 pm', $MSTTZ);
var_dump($dt->format(DATE_RFC822), $dt->format('U'));
$dt->setTimezone($ESTTZ);
var_dump($dt->format(DATE_RFC822), $dt->format('U'));

/** Output:
string(29) "Tue, 20 Apr 10 14:00:00 -0600"
string(10) "1271793600"
string(29) "Tue, 20 Apr 10 16:00:00 -0400"
string(10) "1271793600"
**/
?>