代码之家  ›  专栏  ›  技术社区  ›  sixtyfootersdude

从PHP将格式奇怪的日期推送到MySQL中

  •  0
  • sixtyfootersdude  · 技术社区  · 14 年前

    我确信这一定是一个常见的问题,但我在任何地方都找不到,所以这里是:

    我有以下格式的日期: 09/Jul/2003:00:03:48 -0300 我想把他们推进 DATETIME MySQL中的字段。

    最简单的方法是什么?按原样将它们推入会导致它们被归零。

    3 回复  |  直到 14 年前
        1
  •  5
  •   OMG Ponies    14 年前

    MySQL在DATETIMEs中不包含时区,但您可以使用:

    STR_TO_DATE('09/Jul/2003:00:03:48', '%d/%b/%Y:%H:%i:%s')
    

    …将日期/时间的字符串表示形式转换为存储在数据库中的日期时间。

    参考:

        2
  •  0
  •   Drewdin    14 年前

    据我所知不能更改,必须采用以下格式:

    'YYYY-MM-DD时:分:秒'

    http://dev.mysql.com/doc/refman/5.1/en/datetime.html

        3
  •  0
  •   user213154user213154    14 年前

    在所有PHP中,我最喜欢的函数是 strtotime() . 如果这不能解释输入,那么我可能无法编写可以解释的代码。

    所以我想做点什么:

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

    准备给MySQL的日期字符串。

    像往常一样,在你的设计中考虑时区。

    这个 mysql_real_escape_string() 可能没必要,但我用的时候总觉得更安全。

    推荐文章