Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两个日期之间的差异(不考虑年份)_Php_Date_Datetime_Mktime - Fatal编程技术网

Php 两个日期之间的差异(不考虑年份)

Php 两个日期之间的差异(不考虑年份),php,date,datetime,mktime,Php,Date,Datetime,Mktime,我有一个数据库,其中包含不同的域和注册日期,我需要显示它们的过期时间(1年注册)。例如: 域名1.com-注册于2012年11月19日(年月日)-365天后到期。 域名2.com-注册于2011年11月20日(年月日)-1天后到期 我一直在寻找不同的选项和问题(例如),但它们有点不同(我不需要考虑几年),我不是PHP和日期方面的专家 我认为一种选择可能是从总的年份(*365)中删除差异,但我不会考虑366年 提前谢谢你! 问候, 保罗这个例子也许对你有用 $date1 = "11/19/2012

我有一个数据库,其中包含不同的域和注册日期,我需要显示它们的过期时间(1年注册)。例如:

域名1.com-注册于2012年11月19日(年月日)-365天后到期。 域名2.com-注册于2011年11月20日(年月日)-1天后到期

我一直在寻找不同的选项和问题(例如),但它们有点不同(我不需要考虑几年),我不是PHP和日期方面的专家

我认为一种选择可能是从总的年份(*365)中删除差异,但我不会考虑366年

提前谢谢你! 问候,


保罗

这个例子也许对你有用

$date1 = "11/19/2012";
$date2 = "11/20/2011";
$diff = abs(strtotime($date2) - strtotime($date1));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
printf("%d years, %d months, %d days\n", $years, $months, $days);

尝试并提供适当的响应

或者,您可以使用数据库日期函数为您解决此问题。。有了mysql,它将沿着

SELECT DATEDIFF(start_date, NOW()) AS days_remaining FROM table_name
有关更多信息,请参见此处:


基本上,你想找出“日期加上一年和今天”之间的差异,用天表示,对吗?PHP5.3+有一个方便的方法,PHP5.2-有一个不太方便的方法。你需要什么?这可能会对你有帮助。嗨,德克塞,我应该在乞讨时澄清一下。我需要它的PHP5.3。您好,Akhilraj N S.我已经检查了这个答案,但不幸的是,它对我不起作用。我试图修改代码以获得我期望的结果,但我认为我在某个地方做错了:\但是谢谢你的回复!这似乎是一个非常好的解决方案!我尝试在mysql中实现它,它返回一些不正常的负值。我试图添加selectdatediff(DAY(start_date)、DAY(NOW())等等,但它返回null。我也尝试过,但仍然无法从PHP中实现它!谢谢你的回复。这和我看过的问题的回答是一样的,但我没有为自己工作。无论如何,我找不到任何准确的答案,所以我正在实施您的解决方案,添加365*($年)+31*($月),并考虑闰年。我只需要弄清楚如何为每个月添加相应的天数,但我想我会为此创建一些数组。