cakePHP日期时间格式不正确

时间:2015-10-22 08:12:54

标签: mysql datetime cakephp timestamp

我是CakePHP的新手。

目前我遇到了这个问题,它在我登录cakePHP项目时向我显示了这个错误。

**Database Error**
Error: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2015-10-22T15:42:20+08:00' for column 'last_login' at row 1

SQL Query: UPDATE `cakephpdb`.`users` SET `last_login` = '2015-10-22T15:42:20+08:00', `modified` = '2015-10-22 15:42:20' WHERE `cakephpdb`.`users`.`id` = '37'

我认为这可以在cakePHP配置文件中配置(只能在1个文件中编辑,可以影响整个项目),或者可能更改MySQL设置。

以下是详细信息:

  • CakePHP项目:在IIS服务器中托管并运行
  • MySQL:在另一台服务器
  • MySQL版本:5.5.38

非常感谢您的帮助!谢谢。

3 个答案:

答案 0 :(得分:3)

  

日期时间格式无效:1292日期时间值不正确:' 2015-10-22T15:42:20 + 08:00'

传递正确的日期时间格式:YYY-MM-DD HH:MM:SS这就是我认为该字段所期望的。使用date()重新格式化您的日期或您正在使用的任何CakePHP版本的DateTime类。

答案 1 :(得分:0)

我认为这是您尝试传递的数据时间格式是问题。

使用适当格式的PHP日期函数进行更改(YYYY-MM-DD HH:MM:SS)

date('Y-m-d H:i:s',strtotime($yourdate));

我认为这将适用于这种情况。

感谢。

答案 2 :(得分:0)

非常奇怪,如果我在localhost 使用 XAMPP,它可以完美存储。但是当我实时启动(使用IIS)时,它无法使用此日期时间格式存储" 2015-10-22T15:42:20 + 08:00和#34;。

所以我发现cakePHP正在使用:

  

日期(DATE_ATOM)

我将其更改为:

  

日期(' Y-m-d H:i:s')

现在有用了。

感谢@burzum和@Chandresh。 :)