2

我正在尝试将表单中的日期格式化为mm-dd-yyyyform yyyy-mm-dd,但是,当我尝试对其进行格式化时,它会显示为1969-12-31.

这是我的代码:

$custom_date = "10-13-2013";

$formatted_date = date("Y-m-d", strtotime($custom_date));

怎么了?

4

2 回答 2

5
$custom_date = "10-13-2013";

$formatted_date = DateTime::createFromFormat("m-d-Y", $custom_date)->format("Y-m-d");
于 2013-10-13T21:16:23.773 回答
4

mm-dd-yyyy不是 . 识别的格式strtotime。那是因为它不能可靠地处理像03-04-20133 月 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);
于 2013-10-13T21:12:55.527 回答