在Smarty的使用,我有此格式的日期字符串:DD/MM/YYYYInterperet英語日期字符串與DATE_FORMAT
當我嘗試使用date_format
它得到的日期是錯誤的。
我該如何理解初始字符串格式化的內容?
在Smarty的使用,我有此格式的日期字符串:DD/MM/YYYYInterperet英語日期字符串與DATE_FORMAT
當我嘗試使用date_format
它得到的日期是錯誤的。
我該如何理解初始字符串格式化的內容?
date_format
Smarty的變量修改的文檔,解釋了預計,要格式化的值:
這格式化日期和時間到給定
strftime()
格式。日期可以作爲unix timestamps,DateTime objects,mysql時間戳或任何由月份日年組成的字符串傳遞給Smarty,可由php的strtotime()
進行分析。
您正在使用(DD/MM/YYYY
)日期格式爲not recognized通過strtotime()
並有一個很好的理由:對於當年的日子更多的三分之一,這種格式不能離開MM/DD/YYYY
說。 PHP開發人員必須選擇這兩種格式中的哪一種來識別,並且他們選擇了MM/DD/YYYY
(可能是因爲它具有更高的覆蓋範圍)。
解決您的問題的一種可能方法是先使用replace
修飾符將/
更改爲-
或.
。 DD-MM-YYYY
和DD.MM.YYYY
格式均有效,並由strtotime()
識別,並且它們不與其他格式衝突。
如果您當前的代碼如下所示:
{$date|date_format:'%e %B %Y'}
將其更改爲:
{$date|replace:'/':'.'|date_format:'%e %B %Y'}