大家好我的应用程序解析文本文件,其中日期值以以下格式存储:DDMMMYYYY例如:12MAR2009。
我注意到将此值插入数据库日期时间值根本不起作用。如何将其转换为可以输入数据库的日期时间值。我的申请是在php。
答案 0 :(得分:3)
此类内容应将您的日期转换为MySQL's DATETIME format:
$date = new DateTime('12MAR2009', new DateTimeZone('America/New_York'));
$mysql_date = $date->format('Y-m-d H:i:s');
您可以使用strtotime()
,但使用它进行时区处理会让您感到痛苦。
答案 1 :(得分:2)
$timestamp = strtotime("12MAR2009");
...
INSERT INTO my_table (..., timestamp) VALUES (..., FROM_UNIXTIME($timestamp))
PHP函数strtotime()
将几乎包含任何包含日期/时间值的字符串,并将其转换为unix时间戳。
MySQL函数FROM_UNIXTIME()
将采用unix时间戳并将其转换为MySQL的日期时间格式。