2008/06/06 修正
最近設計的網站, 原本用PHP5開發, 沒想到接近完工時, 才發現客戶原有的虛擬主機空間還在用PHP4,大部分的PHP指令好像都正常, 不過今天出現了日期顯示的錯誤。
當初為了顯示月跟日(M-D), PHP5的日期顯示也是拼湊出來的, 不過總是解決了問題。
PHP5的日期輸出:
echo date_format(new DateTime($row_rsNews['date_start']),"m-d");
其中的"m-d"是輸出的格式, 輸出結果為"04-12", "05-01"......
但是date_format()在PHP4還沒出現, PHP5之後才開始支援, 所以不能使用。
所以PHP4反而用了最簡單的輸出方式, 子字串substr()函數
echo substr($row_rsNews['date_start'],5,5);
同樣可以輸出"04-12", "05-01" 這樣的結果。
其實當初PHP5也可以用這樣的方式, 不過考慮到未來不同的日期格式化輸出, 還是用了比較麻煩的方式, 比較特別的是, 這樣的方式是不能用的:
echo date_format($row_rsNews['date_start'],"m-d");
非得用new DateTime()產生一個日期物件才可以, 其中new DateTime在PHP5有一個比較建議的替代函數 date_create(), PHP5建議用來替代datetime(), 不過同樣只有在PHP5之後才支援。
話說回來, 現在在PHP網站上的文件已經找不到DateTime()函數的說明, 那當初我是打哪找來這個的?! 沒記錄下來, 腦筋就是不行了 = =
留言列表