【问题标题】:cakePHP incorrect datetime formatcakePHP 日期时间格式不正确
【发布时间】:2015-10-22 08:12:53
【问题描述】:

我是 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

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

【问题讨论】:

    标签: mysql datetime cakephp timestamp


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      使用正确格式的 PHP 日期函数更改它(YYYY-MM-DD HH:MM:SS)

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

      我认为这在这种情况下会起作用。

      谢谢。

      【讨论】:

        【解决方案3】:

        很奇怪,如果我在本地使用 XAMPP,它可以完美存储。但是当我实时启动(使用 IIS)时,它无法使用这种日期时间格式“2015-10-22T15:42:20+08:00”进行存储。

        所以我发现 cakePHP 正在使用:

        日期(DATE_ATOM)

        我改成:

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

        现在成功了。

        感谢@burzum 和@Chandresh。 :)

        【讨论】:

        • 请接受一个答案(是的,即使是这个) - 不要编辑问题说“已解决”。但是请注意 DATE_ATOM doesn't seem to be in CakePHP at all - 这个答案没有意义。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-29
        • 2017-07-18
        相关资源
        最近更新 更多