我需要能够检查给定日期是否在一个范围内,例如。两周。
例如,如果我设置了开始日期,即。2013 年 1 月 5 日(星期三)并想了解目标日期 2014 年 1 月 1 日(也是星期三)是否在开始日期的两周范围内,最好的方法是什么。
我能想到的一种选择是循环使用 strtotime() 直到我到达或超过目标日期,但想知道是否有更好、更有效的方法来做到这一点。最好是我可以与其他范围一起使用的东西,例如。季刊之类的。
谢谢你的帮助。
我需要能够检查给定日期是否在一个范围内,例如。两周。
例如,如果我设置了开始日期,即。2013 年 1 月 5 日(星期三)并想了解目标日期 2014 年 1 月 1 日(也是星期三)是否在开始日期的两周范围内,最好的方法是什么。
我能想到的一种选择是循环使用 strtotime() 直到我到达或超过目标日期,但想知道是否有更好、更有效的方法来做到这一点。最好是我可以与其他范围一起使用的东西,例如。季刊之类的。
谢谢你的帮助。
你是对的,strtotime
但我不明白你为什么要循环。你可以使用这样的东西:
$fortnight = 14 * 86400; // Fortnight in seconds.
$start = strtotime("01/05/2013");
$check = strtotime("01/01/2014");
// Check if the date is within a fortnight of start date
if ($start > $check && $start - $check <= $fortnight) {
// Check date is within a fortnight before start date.
}
else if ($start < $check && $check - $start <= $fortnight) {
// Check date is within a fortnight after start date.
}
利用
if ( ( strtotime($targetdate) - strtotime($startdate) ) <= (14 * 24 * 60 * 60) )
如果你想要每季度,那么它变成
if ( ( strtotime($targetdate) - strtotime($startdate) ) <= (3 * 30 * 24 * 60 * 60) )