我正在尝试以mm-dd-yyyy
形式yyyy-mm-dd
的形式格式化日期,但是,当我尝试格式化它时,它显示为1969-12-31
。
这是我的代码:
$custom_date = "10-13-2013";
$formatted_date = date("Y-m-d", strtotime($custom_date));
怎么了?
$custom_date = "10-13-2013";
$formatted_date = DateTime::createFromFormat("m-d-Y", $custom_date)->format("Y-m-d");
mm-dd-yyyy
不是strtotime
认可的格式。那是因为它无法可靠地处理像03-04-2013
这样的日期,它是 3 月 4 日还是 4 月 3 日?
您需要手动解析它,或使用 DateTime
类。
list($m,$d,$y) = explode("-",$_GET['date']);
$timestamp = mktime(0,0,0,$m,$d,$y);
$formatted_date = date("Y-m-d",$timestamp);