Hangi php tarih ve saati GMT mahsup için kullanılacak araçlar

2 Cevap php

Bu php tarih ve saat masaj yaklaşım birçok yolu vardır görünür. Ben genellikle sadece her yerel saatle uğraşan duyuyorum. Bugün, ben UTC çalışmak gerekir.

I am querying against an API, the data they give me about an arbitrary record is: created: Thu, 18 Jun 2009 21:44:49 +0000 * Documented as 'UTC record creation time'

utc_offset: -28800 * Difference between users re

Ben veri kendi yerel zamanında teslim ne zaman ve tarih kullanıcıya göstermek için basit bir dizeye dönüştürmek olduğunu gerekir.

I believe, the above translates to, if in Calif. for example: Thursday 18th of June 2009 02:44:49 PM

Amacım bir "güzel" biçiminde kolay biçimlendirme için () bugüne kadar geçebilir bir zaman değeri elde etmektir.

Ofset, ve sonra (bugüne kadar ki geçen) ekleyerek, çağdan saniye Yukarıda oluşturulan vakte çevirirken kadar basit mi gerçekten? Herhangi gothcha adlı için dışarı bakmak için?

$created_time = 'Thu, 18 Jun 2009 21:44:49 +0000';
$utc_offset = -28800;
$seconds = strtotime($created_time);
$localized_time = $seconds + $utc_offset;

echo date(DATE_RFC822, $localized_time);

Teşekkürler

2 Cevap

PHP sizin için otomatik olarak bir şey yapmalıyız. Ben de ÇOK yerine DateTime nesnesi kullanarak tavsiye edebilir.

$dt = new DateTime($created_time); echo $dt->format(DATE_RFC2822);

PHP'nin tarih ve saat işlevleri bir sürü iş bu sistemlerin iyileştirilmesi yapılmıştır, çünkü PHP yeni bir sürümü üzerinde olduğunuzdan emin olun .. timezone farkındayız.

Sen date_default_timezone_set saat dilimleri arasında geçiş yapmak için kullanabilirsiniz. Sizin durumda, kullanıcının profilinden timezone bilgi geçerdi. Evert tavsiye olarak PHP 5> = 5.2 kullanıyorsanız, daha gelişmiş DateTime sınıfını kullanın lütfen.

<?php
echo date('h:i:s')."\n";
date_default_timezone_set('Europe/Paris');
echo date('h:i:s')."\n";
date_Default_timezone_set('UTC');
echo date('h:i:s')."\n";