我正在组建一个会员网站,该会员网站使用按比例系统收取会员费。
EG
$ 75.00从4月1日YY - 31月YY 但是如果你在9月YY左右加入,那么你只需支付38.00美元的按比例
我目前的编码工作正常 - 没有问题。
但是想知道有没有办法动态更改下面的结束日期($ your_date),所以我不必每12个月手动修改一次?
例如,如果今天的日期是2017年2月1日,则下面的$ your_date是正确的。
但是,如果今天的日期是2017年5月14日,那么$ your_date当然不正确。
会员年度从今年4月1日/去年 - 今年3月31日开始,所以它将是
如果今天< =今年3月31日&&& > =今年4月1日/去年做了一些事情......
<?php
$now = time(); // or your date as well
$your_date = strtotime("2017-03-31");
$datediff = $your_date - $now;
$SOS = floor($datediff/(60*60*24)*0.205);
$ORD = floor($datediff/(60*60*24)*0.115);
$GEN = floor($datediff/(60*60*24)*0.03);
?>
&#13;
或者我已经使用了我正在使用的代码,并且有一些更简单的东西吗?
答案 0 :(得分:0)
这有点复杂,但我想你想要:
如果当前日期是4月或更晚,那么3月31日下一个年,否则它将于3月31日此年。
那总结一下吗?当然,如果他们在3月31日应用 ,则需要支付0.00美元的费用......
所以我认为代码应该是:
$your_year = ( date('m')>'3' ? ((int)date('Y')+1) : date('Y') )
$your_date = strtotime( $your_year . "-03-31" )
答案 1 :(得分:0)
下面的PHP是故意冗长的,以便每行解释自己:
$Current_Year = date('Y');
$Current_Month = date('n');
$Current_Day = date('j');
$Next_Year = ($Current_Year + 1);
if ($Current_Month < 4) {
$Expiration_Year = $Current_Year;
}
if ($Current_Month > 3) {
$Expiration_Year = $Next_Year;
}
# Checks if date is March 31st
if (($Current_Month == 3) && ($Current_Day == 31)) {
$Expiration_Year = $Next_Year;
}
$Expiration_Date = $Expiration_Year.'-03-31';