Şu anda kullanıcının ayarlarına bağlı olarak, belirli bir zaman dilimi benim MySQL zaman dönüştürme kavramı etrafında beynimi saran bir sorunu yaşıyorum.
Benim MySQL kez tüm aşağıdaki biçimde, UTC zaman içinde saklanır:
2009-11-08 17:06:40
Ben zaman sorgulamak kez, ben PHP kullanarak uygun timezone dönüştürmek için nasıl emin değilim.
Böylece, yukarıdaki örnekte, ben göstermek istiyorum:
2009-11-08 09:06:40
İşte ben şu anda (muhtemelen sabit olması için ihtiyacı olan) ne var:
$sql = 'SELECT date FROM mytable';
require("connection.php");
$result = mysql_db_query($DBname,$sql,$link);
while($row = mysql_fetch_assoc($result)) {
$dt_obj = new DateTime($row['date']);
$dt_obj->setTimezone(new DateTimeZone('PST'));
echo $dt_obj;
echo "<br>";
}
Öncelikle, ben aşağıdaki hatayı alıyorum:
Catchable fatal error: Object of class DateTime could not be converted to string
İkincisi, ben (bu durumda, PST olarak) zaten doğru zaman diliminde saati görüntülemek için düzgün kuruyorum Whethere olarak karıştı.
Bu yapmak konusunda herhangi bir öneriniz büyük mutluluk duyacağız. Teşekkürler!
UPDATE:
Ben GZipp tavsiye aldı ve gibi bakmak kod güncellenmiştir:
$dt_obj->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $dt_obj->format('Y-m-d H:i:s');
Ancak, bu gibi (yukarıdaki örneği kullanarak) zaman zaman sergiliyor:
2009-11-08 15:06:40
Herhangi bir fikir ne bu neden olur?