需要在包订阅的日期中添加周,日和月

时间:2012-10-20 12:29:02

标签: php datetime

我目前正在为当前项目的包管理器工作,我需要添加包订阅日期和包的到期日期。

我正在使用php函数date("Y-m-d H:i:s"),即

$package_subscription_start_date = date("Y-m-d H:i:s");

现在这是我的要求: 我需要包括1天,2天,5天,1周,4周,12周,1个月,6个月,9个月,1年,2年,5年和10年。

我怎样才能添加这些值并计算插入mysql的包的到期日期,例如

$package_expiry_date = date("Y-m-d H:i:s") + 1 day;
$package_expiry_date = date("Y-m-d H:i:s") + 5 days;
$package_expiry_date = date("Y-m-d H:i:s") + 1 week;
$package_expiry_date = date("Y-m-d H:i:s") + 4 weeks;
$package_expiry_date = date("Y-m-d H:i:s") + 2 months;

$package_expiry_date = date("Y-m-d H:i:s") + 2 years;

最后,我需要处理其他日期问题,如有效日期和闰年等。 另外我需要在php级别完成,而不是使用mysql / sql查询。

我将在这方面给予任何帮助。

4 个答案:

答案 0 :(得分:3)

这样的东西
$date=date('Y-m-d H:i:s', strtotime('+1 day'));
$date=date('Y-m-d H:i:s', strtotime('+5 days'));
$date=date('Y-m-d H:i:s', strtotime('+1 week'));
$date=date('Y-m-d H:i:s', strtotime('+4 weeks'));
$date=date('Y-m-d H:i:s', strtotime('+2 months'));
$date=date('Y-m-d H:i:s', strtotime('+2 years'));

答案 1 :(得分:3)

您是否在php中尝试过strtotime()命令?

echo $expires = strtotime(date("Y-m-d H:i:s")." + 1 day");
echo date("Y-m-d H:i:s", $expires);

为您提供

的输出
135082420020
12-10-21 08:56:40

答案 2 :(得分:1)

查看php DateTime对象。

例如,将时间添加到日期:

//Get the current date
$date = new DateTime();

//Add 1 day
$date->modify('+1 Day');

//Output in Y-m-d format
echo $date->format('Y-m-d');

它有许多其他有用的功能

答案 3 :(得分:0)

<?php
    echo $date = date("Y-m-d");// current da

    $date1 = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
    echo date("Y-m-d", $date1);
    echo date("Y-m-d", $date1);

    $date2 = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
    echo date("Y-m-d", $date2);

    $date3 = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
    echo date("Y-m-d", $date3);

    $date4 = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
    echo date("Y-m-d", $date4);

    $date5 = strtotime(date("Y-m-d", strtotime($date)) . " +1 year");
    echo date("Y-m-d", $date5);
?>