我的日期格式为 d/m/y。如何将它们插入 DATETIME 列?
6 回答
您需要使用 php 的date()
函数以及strtotime()
将日期转换为您想要的任何格式。
MySQL 数据库YY-MM-DD
以 datetime 数据类型的格式存储日期,所以如果你有一个日期
$date = '26/05/2012';
您可以使用date()和strtotime()转换它
$formatDate = date('Y-m-d', strtotime('26/05/2012'));
这将转换日期26/05/2012
,2012-05-26
然后可以将其插入数据库。
如果您使用时间戳数据类型将日期存储在数据库中,那么您只需将当前日期转换为 unix 时间戳并存储在数据库中即可。
$date = strtotime('26/05/2012');
//this will convert the date to unix timestamp
更新:
正如@wallyk 所指出的(谢谢), strtotime() 不处理dd/mm/yy
格式。解决方法是/
用-
m 下面的代码替换斜杠应该适合你。
date('Y-m-d', strtotime(str_replace('/', '-', '26/05/2012')));
使用 MySQL 的STR_TO_DATE()
功能:
INSERT INTO my_table VALUES (STR_TO_DATE('26/5/12', '%e/%c/%y'))
试试这个:
$mysqldate = date("m/d/y g:i A", $datetime);
$date = date('d/m/Y');
$date = strtotime($date); //unix时间戳格式
基本上美国日期格式是MM/DD/YYYY
并且您正在提供DD/MM/YYYY
,这就是为什么startotime()
在此输入上返回空值;我更喜欢你必须遵循美国的标准日期格式,(MM/DD/YYYY)
因为如果你使用提到的日期格式,也会在不同的地方产生更多的问题..
如果你检查这个
echo date('Y-m-d', strtotime('05/26/2012') );
它工作正常..
您可以将 DATE 列更改为字符串列,并在需要时插入数据 2 检查日期是否正确,您可以使用正则表达式来执行此操作