The Basics
Başka içine bir tarih biçimini dönüştürmek için simplist yolu strtotime()
with date()
. strtotime()
bir Unix Timestamp içine tarih dönüştürmek kullanmaktır. Unix Zaman Damgası sonra geçirilen olabilir date()
bu yeni biçime dönüştürmek.
$timestamp = strtotime('2008-07-01T22:35:17.02');
$new_date_format = date('Y-m-d H:i:s', $timestamp);
Ya da bir-astar olarak:
$new_date_format = date('Y-m-d H:i:s', strtotime('2008-07-01T22:35:17.02'));
strtotime()
bir valid format olmak üzere tarih gerektirdiğini unutmayın. Geçerli bir biçimi sağlamak için Failuer strtotime()
tarih 1969-12-31 neden olacaktır hangi yanlış dönen neden olacaktır.
Using DateTime()
strong>
PHP 5.2 itibariyle, PHP DateTime()
class which offers us more powerful tools for working with dates (and time). We can rewrite the above code using DateTime()
böylece sundu:
$date = new DateTime('2008-07-01T22:35:17.02');
$new_date_format = date->format('Y-m-d H:i:s');
Working with non-standard and ambiguous date formats
Ne yazık ki bir geliştirici ile çalışmak zorunda değil tüm tarih biçimi geçerli bulunmaktadır. Neyse PHP 5.3 bunun için bir çözüm sağladı. DateTime::createFromFormat()
a> bize bir tarih dizesi bu yüzden başarılı başka işlemler için bir tarih nesnesine çözümlenebilir olduğunu ne biçim PHP söylemesini sağlar.
$date = DateTime::createFromFormat('F-d-Y h:i A', 'April-18-1973 9:48 AM');
$new_date_format = date->format('Y-m-d H:i:s');
PHP 5.4 olarak bize bir tek-liner içine bizim DateTime()
kodunu açmak için izin veren eklenmiştir örnekleme üzerinde sınıf üyesi erişim yapmak için yeteneğini kazandı:
$new_date_format = (new DateTime('2008-07-01T22:35:17.02'))->format('Y-m-d H:i:s');
Ne yazık ki bu DateTime::createFromFormat()
henüz çalışmıyor.