使用 php 将时间和日期添加到 mysql 中的日期时间?
adding time and date to datetime in mysql using php?
我正在尝试使用 PHP.
将日期和时间添加到 mysql 数据库中的日期时间字段
我在 mysql 数据库中的日期时间是这样存储的:
2015-01-20 05:10:17
我尝试像这样向该字段添加 5 天:
$Date = date();
$end_date = date("Y, n, j, G, i, s", strtotime($Date. ' + 5 days'));
UPDATE myTable SET end_date='$end_date' WHERE randKey='$id'
但是当我查看数据库的更新时,我看到 end_date
字段是这样的:
0000-00-00 00:00:00
这意味着它已更新,但由于某种原因所有内容都已设置为 0!
有人可以就此问题提出建议吗?
提前致谢。
检查这个:
$end_date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s"). ' + 5 days'));
MySql 以 YYYY-MM-DD HH:MM:SS
格式存储日期时间。
与其尝试将五天添加到一个字符串中的当前日期,不如使用 strtotime
的两个参数会容易得多,如下所示:
$Date = date();
$end_date = date("Y, n, j, G, i, s", strtotime('+5 days', $Date));
第二个参数指定"current"时间是多少;即,(开始位置)+5 天的休息日的基础。未指定时,默认为 time()
.
首先,您提供的代码不会将字段值增加 5 天,而是将今天的日期增加 5 天。看,如果您的字段包含 2015-01-01 并且如您所写,您想向该字段添加 5 天,则不应在 PHP 中向 date() 添加五天,因为它将是 2015- 01-25 而不是 2015-01-06。因此,如果您想向字段值添加 5 天,请使用:
UPDATE myTable SET end_date=DATE_ADD(end_date, INTERVAL 5 DAY) WHERE randKey='$id';
但是如果你想在今天之后添加五天,使用这个:
UPDATE myTable SET end_date=DATE_ADD(CURDATE(), INTERVAL 5 DAY) WHERE randKey='$id';
如果您还关心时间,而不仅仅是日期,请使用 NOW()
而不是 CURDATE()
。
希望对您有所帮助。
我正在尝试使用 PHP.
将日期和时间添加到 mysql 数据库中的日期时间字段我在 mysql 数据库中的日期时间是这样存储的:
2015-01-20 05:10:17
我尝试像这样向该字段添加 5 天:
$Date = date();
$end_date = date("Y, n, j, G, i, s", strtotime($Date. ' + 5 days'));
UPDATE myTable SET end_date='$end_date' WHERE randKey='$id'
但是当我查看数据库的更新时,我看到 end_date
字段是这样的:
0000-00-00 00:00:00
这意味着它已更新,但由于某种原因所有内容都已设置为 0!
有人可以就此问题提出建议吗?
提前致谢。
检查这个:
$end_date = date("Y-m-d H:i:s", strtotime(date("Y-m-d H:i:s"). ' + 5 days'));
MySql 以 YYYY-MM-DD HH:MM:SS
格式存储日期时间。
与其尝试将五天添加到一个字符串中的当前日期,不如使用 strtotime
的两个参数会容易得多,如下所示:
$Date = date();
$end_date = date("Y, n, j, G, i, s", strtotime('+5 days', $Date));
第二个参数指定"current"时间是多少;即,(开始位置)+5 天的休息日的基础。未指定时,默认为 time()
.
首先,您提供的代码不会将字段值增加 5 天,而是将今天的日期增加 5 天。看,如果您的字段包含 2015-01-01 并且如您所写,您想向该字段添加 5 天,则不应在 PHP 中向 date() 添加五天,因为它将是 2015- 01-25 而不是 2015-01-06。因此,如果您想向字段值添加 5 天,请使用:
UPDATE myTable SET end_date=DATE_ADD(end_date, INTERVAL 5 DAY) WHERE randKey='$id';
但是如果你想在今天之后添加五天,使用这个:
UPDATE myTable SET end_date=DATE_ADD(CURDATE(), INTERVAL 5 DAY) WHERE randKey='$id';
如果您还关心时间,而不仅仅是日期,请使用 NOW()
而不是 CURDATE()
。
希望对您有所帮助。