PHP tarih yeniden biçimlendirmek nasıl?

6 Cevap php

Ben bir veritabanından çeşitli mesajların tarihleri ​​çekiyorum. Tarihleri ​​aşağıdaki biçimdedir:

2009-08-12

Numeric Year - Numeric Month - Numeric Day

Nasıl daha fazla kullanıcı dostu gibi bir şey bu tarihleri ​​biçimlendirmek yapabilirsiniz:

August 12, 2009

Numeric Month Numeric Date, Numeric Year

MySQL veritabanı kazanılmış tarih denilen bir değişken içinde saklanır olduğunu varsayarsak:

$date = $row['date_selected'];

6 Cevap

date("F d, Y", strtotime($input))

strtotime bazlı örneklerden farklı olarak, bu ay ve gün ne olursa olsun sunucuda belirtilen yerel ayarları doğru sırayla yorumlanır sağlamak sağlar.

$date = DateTime::createFromFormat('Y-m-d', '2009-08-12');
$output = $date->format('F j, Y');
$new_format = date("Your Date String", strtotime($date));

See:
- http://php.net/strtotime
- http://php.net/date

strtotime() bunu doğru okumak eğer Temelde, yine de sana lütfen biçimlendirebilirsiniz.

Bu durumda, Year - Month - Day düzgün tanınan strtotime() biçimi, bu diğer formatlar için durum olmayabilir.

Eğer select deyimi ile MySQL biçimlendirme tarih yaptığını düşünebilirsiniz:

DATE_FORMAT(date,'%M %e, %Y') as date_selected

http://www.w3schools.com/sql/func_date_format.asp

Sen php işlevi bakmak isteyebilirsiniz strtotime:

http://php.net/manual/en/function.strtotime.php

Bu bir Unix zaman damgası tarih gösterimleri sayıda ayrıştırmak gerekir.

Ardından date işlevini kullanın.

Strtodate kullanarak veya farklı bileşenlerine tarih bölmek patlayabilir, daha sonra uygun biçim dizesi ile tarih işlevini kullanabilirsiniz: http://php.net/manual/en/function.date.php

$date = "2009-08-12";
list($year,$month,$day) = explode("-",$date);
$formattedDate = date("F d, Y", mktime(0,0,0,$month,$day,$year));

Çıkışlar: "12 Ağustos 2009"