2016-04-07 23 views
0

Barebone joomla sürümü aldım (bu nedenle joomla cms ve tablo adlarını kullanarak sadece saf php). Ve bir makalenin yayımlanmış tarih böyle kaydedildi:Tarih biçimini düzeltmek için bir dize dönüştürme (joomla biçimi)

6 April 2016 

Yani zaman göz ardı edip sadece doğru biçimde tarihini kullanmak:

2016-04-06 14:38:52 

nasıl gibi bir şey bu dizeyi dönüştürebilirsiniz.

Bu, PHP kullanılarak nasıl yapılabilir (işlevlerde joomla oluşturma yok)?

cevap

2

Sen php date ve strtotime fonksiyonu ile bunu yapabilir

$t="2016-04-06 14:38:52"; 
echo date('j F Y', strtotime($t)); 

F: - Ocak veya Mart gibi bir ayın tam metinsel gösterimi,

j: - Ön ay sıfır olmadan ayın teması

Y: - Bir yılın tam sayısal bir temsilidir, 4 basamak

Sen nesne yönelimli bir şekilde de yapabiliriz

6 Nisan 2016

+1

Teşekkürler gerekli. – twan

1

ÇIKIŞ:

//create a DateTimeObject 
$dateTime = new DateTime($date); 

echo $dateTime->format('j F Y'); //output: 6 April 2016 

Açıklama j F Y ait:

j - Day of the month without leading zeros 
F - A full textual representation of a month, such as January or March 
Y - A full numeric representation of a year, 4 digits 
+0

Lütfen cevabınıza daha fazla yapıştırın temelde yapıştırılan yapıştırın @ Saty'nin cevabı – SuperDJ

+0

Kopya değil, @Saty 'date' işlevinin ilk argümanında yanlış yazım düzenine sahip. – aslawin

+0

Sorun, cevabınızın, güncellemenizden önce yeni bir şey eklememesiydi. OP, – SuperDJ

1

Ayrıca PHP yerli DateTime sınıfını kullanarak bunu yapabilirsiniz. I createFromFormat yöntemi kullanmak

$date = "2016-04-05 16:00:00"; 
$odate = DateTime:createFromFormat('Y-m-d H:i:s', $date); 

Not DateTime nesne gerçekleştirmek için kullanılır. Bu, 2016-04-05 gibi tarihlerin yanlış şekilde yorumlanmasını engeller. Bu tarih 4 Mayıs da olabilir.

Şimdi, çıkışa

// Output 
echo $oDate->format('j F Y'); 

F - önde gelen sıfır

olmadan ayın günü

Y - Ocak veya Mart

j olarak bir ay tam bir metinsel gösterimi, - Bir yılın tam sayısal bir gösterimi, 4 basamak

+0

Çözümünüz de doğru ve her iki cevabın alternatifi! – Saty