2012-06-08 27 views
5

European format (dd/mm/yyyy) tarihlerini strtotime ile görüntülemeye çalışıyorum ancak her zaman 01/01/1970 değerini döndürür. İşte PHP: strtotime() her zaman geri döner 01/01/1970

benim codeline geçerli: Benim veritabanında

echo "<p><h6>".date('d/m/Y', strtotime($row['DMT_DATE_DOCUMENT']))."</h6></p>"; 

, alan varchar ve kayıtlar

başka alan için aynı CodeLine kullanmak yyyy.MM.dd formated olduğunu yyyy-mm-dd (varchar da) gibi biçimlendirilmiştir ve iyi çalışıyor. Yardımlarınız için

teşekkürler. biçim yyyy-mm-dd eser yana

+0

aa/gg/yyyy yerine ve eğer girdi gibi bir tarih 13/2/2012'de 13. ayın olmadığı ve zamanın 0 (1/1/1970) –

cevap

4

, - ile . değiştirmeyi deneyin:

date('d/m/Y', strtotime(str_replace('.', '-', $row['DMT_DATE_DOCUMENT']))); 
3

ile deneyin:

$date = date_parse_from_format("Y.m.d", $row['DMT_DATE_DOCUMENT']); 
$time = mktime($date['hour'], $date['minute'], $date['second'], $date['month'], $date['day'], $date['year']); 
echo "<p><h6>".date('d/m/Y', $time)."</h6></p>"; 

Ya da sadece (date_parse_from_format() kullanma yerine strtotime()):

$date = date_parse_from_format("Y.m.d", $row['DMT_DATE_DOCUMENT']); 
echo "<p><h6>{$date['day']}/{$date['month']}/{$date['year']}</h6></p>"; 
+1

verdiğinden şikayetçiyiz. Evet, sadece "date", "date_parse_from_format" öğesinin doğrudan çıktısını kabul etmeyecektir. – deceze

+0

Haklısınız .. Çok üzgünüm, şimdi düzelteceğim. – fquffio

2

the strtotime page in the PHP manual'den alıntı. m

Tarih/d/y veya d-m-y biçimleri, çeşitli bileşenler arasındaki ayırıcı bakılarak belirgin hale edilir: ayırıcı bir çizgi (/) ise, o zaman Amerikan m/d/y varsayılır; Ayırıcı ise tire (-) veya nokta (.) ise, Avrupa d-m-y formatı kabul edilir.

o zaman mümkün ISO 8601 (YYYY-AA-GG) tarih ve DateTime::createFromFormat() kullanmak en iyisidir, potansiyel belirsizlik olmaması için. Bu durumda sizin durumunuzda YYYY-AA-GG veya d.m.y biçiminde olması gerekir. Sonra Örneğin date_create_from_format

kullanın özel bir biçim ayrıştırmak istiyorsanız

, strtotime varsayar çünkü muhtemelen

date_create_from_format('Y.m.d',$row['DMT_DATE_DOCUMENT']) 
İlgili konular