需要在包装订阅的日期中添加数周,天和几个月



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

我正在使用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;

最后,我需要照顾其他日期问题,例如有效的日期和LEAP年。另外,我需要在PHP级别上完成此操作,而不是使用MySQL/SQL查询。

我将感谢您在这个方向上的任何帮助。

之类的东西
$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'));

您是否尝试过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

有一个查看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');

它有许多其他有用的功能

<?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);
?>

最新更新