如何使用php.date格式在mysql中插入今天的日期就像Dec-10-2013
。我试过
$sql="insert into tbl_name (colm1,colm2) values (1,now())";
此处插入colm2的值为2013-12-11。
答案 0 :(得分:3)
您要做的是将日期保存为TIMESTAMP或类似内容。检索它时,您可以格式化它。如果日期不同,您可以使用'NOW()'或给定格式插入日期。
如果您想显示时间,可以执行:new DateTime($row['my_date']);
要插入,您可以使用相同的方法:(new DateTime($date))->getTimestamp()
为什么选择DateTime?
- 因为它适用于时区。
为什么不将它存储为2013年12月10日?
- 因为你无法做任何假装是日期的varchar。你有一个TIMESTAMP字段类型
答案 1 :(得分:2)
您可以使用DATE_FORMAT
格式化日期:
将您的查询更改为:
INSERT INTO tbl_name (colm1,colm2)
VALUES (1, DATE_FORMAT(NOW(),'%b-%d-%Y'))
示例:
mysql> select DATE_FORMAT(NOW(),'%b-%d-%Y');
+-------------------------------+
| DATE_FORMAT(NOW(),'%b-%d-%Y') |
+-------------------------------+
| Dec-11-2013 |
+-------------------------------+
1 row in set (0.00 sec)
有关可用格式选项的列表,请参阅MySQL documentation。
如果你想在PHP端做,你可以使用date_create()
:
$date = date_create()->format('M-d-Y');
答案 2 :(得分:1)
我可以在你的问题中看到你的db时区格式为YYYY-MM-DD
$date = date("Y-m-d", strtotime($yourDate));
$sql="insert into tbl_name (colm1,colm2) values (1,{$date})";
编辑:
'Dec-10-2013'是php的已知格式,因此您可以执行此操作$yourDate = 'Dec-10-2013'
;
答案 3 :(得分:1)
使用DATE_FORMAT(NOW(),'%b %d %Y')
。
了解更多信息Date_Format
答案 4 :(得分:1)
这就像我现在可以达到您想要的输出一样接近,但我会继续努力。也许如果你用不同的字母替换日期输入,只需尝试一堆。
$CurDate = date("r");
$sql="INSERT INTO tbl_name (colm1,colm2)
VALUES (1,'$CurDate')";
答案 5 :(得分:1)
你可以试试这个
$date = date("M-d-Y");
$sql="insert into tbl_name (colm1,colm2) values (1,$date)";
答案 6 :(得分:1)
首先创建今天日期的时间戳
$date= strtotime("now");
insert into tablename value({$date});
要从数据库再次打印日期,请使用此代码
echo date("Y-m-d",$date);