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

从PHP将格式奇怪的日期推送到MySQL中,php,sql,mysql,date-manipulation,Php,Sql,Mysql,Date Manipulation,我相信这一定是一个常见的问题,但我在任何地方都找不到它,所以这里是: 我有以下格式的日期:09/Jul/2003:00:03:48-0300,我想把它们放到MySQL中的DATETIME字段中 最简单的方法是什么?按原样推入它们会导致它们归零 MySQL在DATETIMEs中不包含时区,但您可以使用: STR_TO_DATE('09/Jul/2003:00:03:48', '%d/%b/%Y:%H:%i:%s') …将日期/时间的字符串表示形式转换为DATETIME以存储在数据库中 参考:

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

我有以下格式的日期:
09/Jul/2003:00:03:48-0300
,我想把它们放到MySQL中的
DATETIME
字段中


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

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

STR_TO_DATE('09/Jul/2003:00:03:48', '%d/%b/%Y:%H:%i:%s')
…将日期/时间的字符串表示形式转换为DATETIME以存储在数据库中

参考:


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

STR_TO_DATE('09/Jul/2003:00:03:48', '%d/%b/%Y:%H:%i:%s')
…将日期/时间的字符串表示形式转换为DATETIME以存储在数据库中

参考:


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

“YYYY-MM-DD HH:MM:SS”


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

“YYYY-MM-DD HH:MM:SS”


我最喜欢的PHP函数是
strotime()
。如果这不能解释输入,那么我可能无法编写能够解释输入的代码

所以我会做一些类似的事情:

mysql_real_escape_string(date('Y-m-d H:i:s', strtotime($stragely_formatted_date)));
为MySQL准备一个日期字符串

和往常一样,在设计中考虑时区


mysql\u real\u escape\u string()
可能没有必要,但我使用它时总是感觉更安全。

我最喜欢的PHP函数是
strotime()
。如果这不能解释输入,那么我可能无法编写能够解释输入的代码

所以我会做一些类似的事情:

mysql_real_escape_string(date('Y-m-d H:i:s', strtotime($stragely_formatted_date)));
为MySQL准备一个日期字符串

和往常一样,在设计中考虑时区


mysql\u real\u escape\u string()
可能没有必要,但我使用它时总是感觉更安全。

太棒了,谢谢!我知道一定有办法做到这一点。我正在浏览php函数,刚刚开始提取正则表达式。这要简单得多。@sixtyfootersdude:如果你在寻找PHP的“等价物”(它不转换,但会解析),试试看。太棒了,谢谢!我知道一定有办法做到这一点。我正在浏览php函数,刚刚开始提取正则表达式。这要简单得多。@sixtyfootersdude:如果您正在寻找PHP“等价物”(它不会转换,但会解析),请尝试。