我当前正在为我当前项目的软件包管理器处理,我需要添加软件包订阅日期和软件包到期日期。
我正在使用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);
?>