Benötigt 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
}
Handbuch http://de2.php.net/manual/en/dateperiod.construct.php
Ich würde wahrscheinlich verlängern die DatePeriod
Klasse ein contains
Methoden haben:
class DateRange extends DatePeriod
{
public function contains(DateTime $dateTime)
{
return in_array($dateTime, iterator_to_array($this));
}
}
dann können Sie
$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
}
sollte nicht 'tun extra' werden' start + ein week'? ansonsten überprüft, ob 'Point' ist, bevor' extra' völlig sinnlos ist. – oezi
@oezi: das ist richtig! – MikeCooper