实际上我以varchar格式在数据库中保存日期。 首先,我从数据库和数据库中检索日期。将它存入$ date。 现在我想用$ date1执行5天的添加。
当我在互联网上搜索时,我得到了这段代码:
$date = date('Y-m-d', strtotime("+5 days"));
现在可以告诉我如何将$ date1值插入此代码以获得预期结果。
答案 0 :(得分:2)
使用strtotime你可以这样:
<?php
$date = "2010-04-01";
echo date("Y-m-d", strtotime("+5 days", strtotime($date))); // 2010-04-06
第一个strtotime($date)
调用将字符串转换为时间戳整数,secound调用采用该整数并为其添加5天。然后date
将其格式化为字符串
旁注:
实际上并不需要将日期保存为varchar,因为mysql(我猜你正在使用的标签)也适用于“DATETIME”字段。例如。 SELECT DATETIMEFIELD FROM table
将返回'2010-01-01 00:00:00'或“DATE”字段将返回“2010-01-01”,两者都是strtotime
可解析的:)
答案 1 :(得分:2)
我已经将我的投票添加到了edorian的回答,因为它直接回答了你的问题。
但是,您实际上可以使用DATE_ADD
SELECT DATE_ADD( your_date_column, INTERVAL 5 DAY ) AS newDate
另外请注意,为什么不使用DATE
格式作为日期列,而不是VARCHAR
?
答案 2 :(得分:0)
或简单的+
SELECT ( your_date_column + INTERVAL 5 DAY ) AS newDate;
当你有+和 -
时,不需要像DATE_ADD()那样奇怪的东西答案 3 :(得分:0)
echo date('Y-m-d', strtotime('+5 days', strtotime($date1)));
希望这样做;)