[英]How to perform addition of date which taken from database in PHP5?
实际上,我以varchar格式将日期保存在数据库中。 首先,我从databae检索日期并将其存储到$ date中。 现在我想用$ date1执行5天的加法运算。
当我在互联网上搜索时,我得到以下代码:
$date = date('Y-m-d', strtotime("+5 days"));
现在,您能告诉我如何将$ date1值插入此代码中以获得预期结果。
使用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
解析的:)
我已经将投票添加到edorian的答案中,因为那样可以直接回答您的问题。
但是,您实际上可以在使用DATE_ADD
从数据库中查询时添加5天
SELECT DATE_ADD( your_date_column, INTERVAL 5 DAY ) AS newDate
另一方面,为什么不为日期列而不是VARCHAR
使用DATE
格式?
或简单的+
SELECT ( your_date_column + INTERVAL 5 DAY ) AS newDate;
当您有+和-时,不需要像DATE_ADD()这样的奇怪东西。
echo date('Y-m-d', strtotime('+5 days', strtotime($date1)));
希望这会做;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.