如何使用php在mysql中插入今天的日期

时间:2013-12-11 08:05:16

标签: php mysql

如何使用php.date格式在mysql中插入今天的日期就像Dec-10-2013。我试过

$sql="insert into tbl_name (colm1,colm2) values (1,now())";

此处插入colm2的值为2013-12-11。

7 个答案:

答案 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);