0

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

我有这种格式的日期:09/Jul/2003:00:03:48 -0300我想将它们推送到DATETIMEMySQL 中的一个字段中。

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

4

3 回答 3

5

MySQL 不包含 DATETIME 中的时区,但您可以使用:

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

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

参考:

于 2010-11-12T21:33:51.710 回答
0

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

'YYYY-MM-DD HH:MM:SS'

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

于 2010-11-12T21:35:17.443 回答
0

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

所以我会做类似的事情:

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

准备一个 DATE 字符串给 MySQL。

与往常一样,在您的设计中考虑时区。

mysql_real_escape_string()可能是不必要的,但当我使用它时我总是觉得更安全。

于 2010-11-12T22:00:36.263 回答