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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

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

$date1 = $_REQUEST['date'];

    echo date('Y-m-d', strtotime($date1));

为什么会发生?我如何格式化它yyyy-mm-dd

提问于
用户回答回答于

$date1 = strtr($_REQUEST['date'], '/', '-');
echo date('Y-m-d', strtotime($date1));
用户回答回答于

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

换句话说,你的strtotime($date1)返回值为0,意思$date1是以strtotime函数的不支持的格式传递。

扫码关注云+社区