我正在做一個日期搜索過濾器,我的日期顯示爲「j.n.Y G:i(26.6.2012 15:22)」。 用戶可以輸入整個日期或只輸入整個日期的一部分:「26.6」,「6.2012」,「6」,「15:22」均爲有效輸入。因爲我需要在數據庫中檢查此日期,所以需要將格式更改爲數據庫中的一個。對於我使用:輸入字符串的格式datetime
$datum = '25.6.2012';
$date = DateTime::createFromFormat('j.n.Y',$datum);
echo $date->format('Y-m-d H:i');
如果我得到一個錯誤,如果$數據是不是在格式j.n.Y(如果我只輸入j.n或上述絃線部分之一,我得到一個錯誤)。
問題在於,對於輸入的字符串'j.n.Y',我得到日期的正確輸出,該日期還將當前時間添加到日期字符串中(不在初始日期字符串中)。例如:我輸入「22.6.2012」,然後輸出「2012-06-22 15:33」。
這兩個問題可以修復現有的PHP函數還是應該自己做?
幫助將不勝感激。
'strtotime'或'strftotime'可能會稍微緩解一些任務。 – hjpotter92