我需要php中的脚本,发现他在加入日期后花了多少天

时间:2016-12-22 09:32:04

标签: php

我正在为健身房开发一个Web应用程序。 如果他支付了现月的费用,那个月的面积是绿色的。每完成30天后,如果未支付费用,下个月的区域将为红色。 所以问题在于,我怎么能发现学生完成了30天。

2 个答案:

答案 0 :(得分:0)

你不清楚你想做什么,但我认为这就是你想要做的。以天计算两个日期之间的距离非常简单。

Finding the number of days between two dates

将天数存储在变量或数组中,只使用if语句。

答案 1 :(得分:0)

解释相关

您可以使用DateTime班级来管理日期。

您可以做的是创建两个对象:一个用于今天的日期,一个用于订阅日期(您将从数据库,文件,API等获得)。您可以使用DateTime类中的构造函数来执行此操作。

接下来,您必须找到这两个日期之间的天数差异。因此,您将使用DateTime::diff()方法来区分订阅日期和今天的日期。

最后,你必须以更易读的格式来区分差异,所以在几天内你就可以了。然后,您可以继续相应地显示,计算和格式化CSS / HTML。

源代码

<?php

$subscription   = new DateTime('2016-10-12'); /* change the date accordingly */
$now            = new DateTime('now'); /* you can add precision on hours and minutes as well */

$interval = $subscription->diff($now); /* interval between the subscription and today */
$daysInterval = $interval->format('%r%a'); /* %r : +/-, %a : days of interval */

if ($daysInterval > 30) {
    echo 'Due date is past (' . ($daysInterval - 30) . ' days late)';
    /* process here all the CSS/HTML you need */
} else {
    echo 'You still have some time before due date';
    /* process here all the CSS/HTML you need */
}

在线演示

Online demo

文档

PHP : DateTime

PHP : DateTime::diff

PHP : DateInterval::format