我确信这一定是一个常见的问题,但我无法在任何地方找到它,所以在这里:
我有这种格式的日期:09/Jul/2003:00:03:48 -0300
我希望将它们推入MySQL中的DATETIME
字段。
最简单的方法是什么?按下它们会导致它们归零。
答案 0 :(得分:5)
MySQL在DATETIME中不包含时区,但您可以使用:
STR_TO_DATE('09/Jul/2003:00:03:48', '%d/%b/%Y:%H:%i:%s')
...将日期/时间的字符串表示转换为DATETIME以存储在数据库中。
参考:
答案 1 :(得分:0)
答案 2 :(得分:0)
我最喜欢的PHP函数是strtotime()
。如果那不能解释输入,那么我可能无法对可能的内容进行编码。
所以我会这样做:
mysql_real_escape_string(date('Y-m-d H:i:s', strtotime($stragely_formatted_date)));
准备一个DATE字符串以提供给MySQL。
一如既往,请考虑设计中的时区。
mysql_real_escape_string()
可能是不必要的,但我使用它时总觉得更安全。