2010-02-13 18 views
5

ISO 8601 biçiminde bir zaman damgasını biçimlendirmem gerekiyor (ör. 2001-10-26T21:32:52). PHP'de date() işlevini kullandığımda, Timezone ile T değiştirir (olması gerektiği gibi).Gömülü `T` karakteri ile zaman damgalarını nasıl biçimlendirebilirim?

kullanıyorum komut şöyledir:

$time = date("y-m-dTH:i:s", time()); 

Bu üretir: 10-02-13EST10:21:03

nasıl gerçek bir T eklemek için alabilirim değil EST ile değiştirin?

cevap

17

Kişisel biçimi shoule be: "C" PHP manual itibaren

$time = date("c", time()); 

: Daha sonra "T" ile iki bölümden bitiştirmek, ayrı ayrı tarih ve saat parçaları biçimlendirebilirdiniz

Format Descriptions      Example 
c  ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00 
+0

. Format açıklaması için teşekkürler. – pgtips

+2

Eğer 'DateTime' kullanıyorsanız, o zaman $ date-> formatı (DateTime :: ATOM)' istediğinizi seçin. – Pitel

+1

Ayrıca, "date()" varsayılan olarak "time()", ikinci argüman sağlanmamışsa "tarih" ("c") 'yi kullanabilirsiniz. – kfriend

1

:

<?php 
$time = time(); 
$time = date("y-m-d",$time)."T".date("H:i:s", $time); 
?> 
5

Yorumlanması gereken bir karakter girmeniz gerekiyorsa, p ters eğik çizgi ile çekilmeye:

$time = date("y-m-d\TH:i:s", time()); 
1

DATE_ATOM bu biçimde sağlanır:

$theStart_date = date(DATE_ATOM, strtotime($start_date)); 

Çıktı:

Bu did it
2013-04-10T09:10:30-04:00