ポイントがstart
とextra
の間にあるかどうかを確認するにはどうすればよいでしょうか。php - 日付と追加の時間の差を確認する
point = 2010-06-20
start = 2010-06-17
extra = start + "1 week"
任意のアイデアをいただければ幸いです。
ポイントがstart
とextra
の間にあるかどうかを確認するにはどうすればよいでしょうか。php - 日付と追加の時間の差を確認する
point = 2010-06-20
start = 2010-06-17
extra = start + "1 week"
任意のアイデアをいただければ幸いです。
を試してみてください - 単に結果のタイムスタンプを比較します
$start = strtotime('2010-06-20');
$point = strtotime('2010-06-17');
$extra = strtotime('+1 week', $start);
if($start < $point && $extra > $point){
// it's bewtween...
}
を見て、この
$start_timestamp = strtotime('2010-05-17');
$end_timestamp = strtotime(date("Y-m-d", $start_timestamp) . " +1 week");
$point_timestamp = strtotime('2010-16-20');
if ($point_timestamp < $end_timestamp && $point_timestamp > $point_timestamp) {
// Do your work
}
は、PHP 5.3
$period = new DatePeriod(
new DateTime('2010-06-17'),
DateInterval::createFromDateString('+1 day'),
new DateTime('2010-06-17 +1 week')
);
if (in_array(new DateTime('2010-06-20'), iterator_to_array($period))) {
// date is in range
}
マニュアルhttp://de2.php.net/manual/en/dateperiod.construct.php
が必要です私はおそらくcontains
方法持っているDatePeriod
クラスを拡張したい:あなたは
$period = new DateRange(
new DateTime('2010-06-17'),
DateInterval::createFromDateString('+1 day'),
new DateTime('2010-06-17 +1 week')
);
if ($period->contains(new DateTime('2011-06-20'))) {
// date is in range
}
を行うことができます
を '' + 1 week'を開始するextra'べきではないのですか?そうでなければ、 'point'が' extra'の前にあるかどうかをチェックするのは全く無意味です。 – oezi
@oezi:そうです! – MikeCooper