[英]Error in php date format conversion
我下面的代碼將此日期-> 18/07/2013
轉換為mysql
支持的格式。
$date = date('Y-m-d', strtotime('18/07/2013'));
理想情況下,應該返回2013-07-18
...
但是,問題在於它會自動將字符串選擇為:
YEAR as YEAR
MONTH as DAY
DAY as MONTH
現在,因為它將18
標識為month
,所以它超出了范圍,並顯示了默認日期1970-01-01
。
我在這件事上浪費了將近兩天。
如果有人可以幫助,請提前感謝!
使用DateTime對象,使php了解您將日期傳遞給它的格式。
$date = DateTime::createFromFormat('d/m/Y', '18/07/2013');
echo $date ->format('Y-m-d');
嘗試這個 :)
echo date('Y-m-d', strtotime(str_replace('/', '-', '18/07/2013')));
strtotime參數的格式應為18-07-2013
正斜杠(/)表示美國M / D / Y格式,破折號(-)表示歐洲DMY,句號(。)表示ISO YMD
觀察:
echo date("jS F, Y", strtotime("11.12.10"));
// outputs 10th December, 2011
echo date("jS F, Y", strtotime("11/12/10"));
// outputs 12th November, 2010
echo date("jS F, Y", strtotime("11-12-10"));
// outputs 11th December, 2010
問題出在PHP中的日期字符串
- 以斜杠分隔的日期值假定為美國順序:m / d / y
- 破折號分隔的日期值假定為歐洲順序:dmy
您想了解的有關通話日期的所有信息都在下面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.