繁体   English   中英

如何在PHP5中执行从数据库获取的日期的加法?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM