CakePHP damgası biçimini değiştirmek nasıl?

4 Cevap php

Benim uygulamada, ben biçimi olan tablodan bir zaman damgası almak 2009-08-18 12:09:01. Ben 18 Ağustos 2009 ya da 18 Ağustos 2009 için bu değiştirmeniz gerekir. CakePHP bunu başarmak için nasıl?

Herhangi bir yöntem orada inşa edilir?

4 Cevap

Sen strptime bir datetime içine dizeyi ayrıştırmak ve ardından strftime istediğiniz dizeye geri biçimlendirmek için kullanabilirsiniz.

Sen çekirdek TimeHelper to format ve test tarihleri ​​/ kere kullanabilirsiniz.

Bunu kullanmak için, kumandanın $helpers dizi TimeHelper eklemeniz gerekir:

var $helpers = array('Time');

Sonra görünümünde size tarih / saat değişkenleri biçimlendirebilirsiniz:

// assuming $variable['Model']['field_name'] = '2009-09-09 12:00:00':
echo $this->Time->format('F jS, Y', $variable['Model']['field_name']);
// => 'September 9th, 2009'
echo $this->Time->format('j M Y', $variable['Model']['field_name']);
// => '9 Sep 2009'

Bu yöntem, sonuçta bir sarıcı olduğundan, biçim dizesi yazmak nasıl belirlemek için date() işlevi için PHP belgelerinde tabloyu kullanın.

Eğer parametreler (ilk tarih, biçimi saniye) sırasını tersine eğer 1.3 gibi, bu yerelin tarih biçimini saygı için çalışacağız. Yukarıdaki sipariş hala geriye uyumluluk için çalışacaktır. Göç kılavuzunda this page altındaki Daha fazla detay.

Deizel tarafından belirtildiği gibi zaman yardımcıyı kullanın.

Ben sonra olan zaman biçimini sağlayan orada bir fonksiyon olup olmadığını görmek için dosya / kek / libs / view / yardımcıları / time.php bakmak istiyorum.

Göreli zaman fonksiyonları özellikle güzel:

<?php echo $time->nice($dateValue); ?>
<?php echo $time->timeAgoInWords($dateValue); ?>

Sen CakePHP kaynağını okuyarak bir çok şey öğrenebilirsiniz.

Bu yapmanız gerekir:

<?php echo date('M js Y', strtotime($post['Post']['date'])); ?>

Burada, Mesaj modelin adı ve tarih alan adıdır.