php函数将"04-05-2012"转换为"04/05/2012?

Ray*_*Ray 1 php date

我已经尝试过使用,date("m/d/Y", strtotime("04-05-2012"))但是我会得到"05/04/2012"或者在某些其他日期,例如"03-30-2012"我会得到"12/31/1969"(这是有道理的,因为它混合了月份和日期,没有30个月.所以我该怎么做?我也想要将值转换为UNIX时间,以便我可以针对MySQL db进行搜索.

art*_*gis 8

您可以使用DateTime对象和createFromFormat静态方法来执行此操作:

$date = DateTime::createFromFormat('m-d-Y',"03-30-2012");
$date->format('m/d/Y');
Run Code Online (Sandbox Code Playgroud)


Ian*_*lin 6

如果你确定你开始使用的格式是DD-MM-YYY,为什么不使用简单的替换?

例如 $newDate = str_replace('-', '/', '04-05-2012');