PHP Saat Dilimi Ayarı

2 Cevap php

Ben UTC zaman bana gönderilen bir zaman var, ama ben East Coast saati (EST / EDT) günlerin yüzden onun dış kenarları ayarlamak isteyebilirsiniz. Ben kullanıcı EDT / EST merkezli tarihleri ​​girin ve UTC doğru tarihleri ​​ile sorgulamak sahip olmak istiyor, olduğunu.

$start_date ve $end_date, bir GET değişkeni üzerinden geçti AA / GG / YYYY biçimlendirilmiş tarihler.

 $start_date = date('Y-m-d 00:00:00', $start_date);
 $end_date = date('Y-m-d 23:59:59', $end_date);

Bu tarih ve zaman UTC kez depolanan bir veri tabanı sorgulaması kullanılmak içindir.

Yani, başlangıç ​​tarihi Gün ışığından bağlı, 20:00 veya 07:00 da önce gün olmak, ve sonra gün ışığı tasarruf bağlı olarak tekrar, 07:59:59 veya 06:59:59 de bitirmek istiyorum.

Bunu nasıl yaparım?

2 Cevap

Eğer veri geliyor ne timezone biliyorsanız, böyle bir şey yapabilirsiniz:

$userTimezone = new DateTimeZone('America/New_York');
$systemTimezone = new DateTimeZone('Europe/London');

$ts = new DateTime($datetime, $userTimezone);
$ts->setTimezone($systemTimezone);

return $ts->format('Y-m-d H:i:s');

$ Datetime thse kurallarına göre geçerli bir tarih biçimidir Nerede - http://www.php.net/manual/en/datetime.construct.php

Kullanıcıların seçilen zaman dilimi içinde bir datetime olsun ama GMT / UTC saklamak için - http://web2project.net/ - Bu, web2project yapmak ne çekirdeğidir.

MySQL aşağıdakileri yapabilirsiniz:

SELECT * FROM tablename WHERE date = DATE_SUB('2010-06-17 00:00:00',INTERVAL 4 HOUR);