转换后显示'1970-01-01'的PHP日期

Ass*_*Guy 23 php mysql date strtotime

我有一个日期格式的表格dd/mm/yyyy.为了搜索数据库,我将日期格式改为yyyy-mm-dd.但当我echo,它显示1970-01-01.PHP代码如下:

$date1 = $_REQUEST['date'];     
echo date('Y-m-d', strtotime($date1));
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我该如何格式化yyyy-mm-dd

Cyc*_*ode 61

替换/-:

$date1 = strtr($_REQUEST['date'], '/', '-');
echo date('Y-m-d', strtotime($date1));
Run Code Online (Sandbox Code Playgroud)


Old*_*ool 30

1970年1月1日是所谓的Unix时代.这是他们开始计算Unix时间的日期.如果将此日期作为返回值,则通常意味着将日期转换为Unix时间戳会返回(接近)零结果.所以日期转换不成功.很可能是因为它收到了错误的输入.

换句话说,strtotime($date1)返回0,意味着$date1以strtotime函数的不支持格式传递.

  • 感谢Oldskool的精彩描述 (2认同)