Php timezone dönüşüm

4 Cevap php

Herkes php farklı saat dilimleri için tarih ve saati dönüştürmek için kolay bir yöntem önerebilirsiniz?

4 Cevap

Daha basit bir yöntem bu gibi görünüyor:

date_default_timezone_set('Europe/London'); // your user's timezone
$my_datetime='2013-10-23 15:47:10';
echo date('Y-m-d H:i:s',strtotime("$my_datetime UTC"));

Açıklandığı gibi in the PHP manual, strtotime () de bir zaman dilimini kabul, sadece datetime onu eklemek zorunda.

Bu şekilde gün ışığı tasarruf ile sorun olmayacak çünkü ben UTC tüm tarihsaat saklamanızı öneririz.

https://github.com/barbushin/dater - farklı saat dilimleri ve formatlarda datetime ile çalışmak için büyük bir PHP kütüphanesi de bulunmaktadır

Bu benim için çalıştı ve çok güzel temiz!

function convert_to_user_date($date, $userTimeZone = 'America/Los_Angeles', $serverTimeZone = 'UTC', $format = 'n/j/Y g:i A')
{
    $dateTime = new DateTime ($date, new DateTimeZone($serverTimeZone));
    $dateTime->setTimezone(new DateTimeZone($userTimeZone));
    return $dateTime->format($format);
}

function convert_to_server_date($date, $userTimeZone = 'America/Los_Angeles', $serverTimeZone = 'UTC', $format = 'n/j/Y g:i A')
{
    $dateTime = new DateTime ($date, new DateTimeZone($userTimeZone));
    $dateTime->setTimezone(new DateTimeZone($serverTimeZone));
    return $dateTime->format($format);
}