farklı sonuçlar bunu ayarlamak nasıl bağlı olsun. Burada PHP DateTime Timezones Setter yöntemle vs Oluşturucu PHP <code>DateTime</code> sınıfını kullanarak ve bir <code>DateTimeZone</code> kurmayı deneyin
bir örnek:$date = '2014-08-01'
$dateTimeOne = new DateTime($date, new DateTimeZone('America/Los_Angeles'));
echo $dateTimeOne->format('Y-m-d\TH:i:sP');
// 2014-08-01T00:00:00-07:00
$dateTimeTwo = new DateTime($date);
$dateTimeTwo->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $dateTimeTwo->format('Y-m-d\TH:i:sP');
// 2014-07-31T17:00:00-07:00
Ayrıca bkz http://3v4l.org/LrZfM
Etrafa baktım ve php docs: datetime.settimezone ve kitapta şu yorum dışındaki bu özel davranışı hitap yeterli bir açıklama bulamadım php|architect's Guide to Date and Time Programming: Dealing with Timezones - DateTimeZone.
Açıklama, DateTime::setTimezone
yönteminin saat dilimini belirli bir zaman dilimi (bir zaman damgası) olarak değiştireceğini, ancak Unix zaman damgasının değişmediğini belirtir.
Diğer taraftan DateTime::__construct
DateTimeZone parametresi "geçerli varsayılan saat dilimini bir kullanıcı tanımlı bir taneyle üzerine yazmak için" Chapter 3: Dealing with Timezones - DateTimeZone kullanılır. Bunların dışında
(ı bulmak mümkün olduğunu) Konuyla ilgili pek bir şey yok. Ben ne zaman kullanmalıyım dilimini
DateTime::__construct
ne zaman kullanmalıyım saat dilimleri- Daha açıklama:
Bu
Ben öğrenmek istiyorum neDateTime::setTimezone
zaman dilimine - birlikte bunları kullanmanın diğer bir karşı bir ya da nasıl kullanılmasının bir sinyal vermek
yapıcı bir zaman dilimi olması $ date' bu zaman dilimine olan 'anlamına gelir; Bir saat dilimi ayarlandığında, tarih, yapım aşamasında saat dilimi ile verilen satır arasındaki farka göre hareket eder. –