2011-01-30 3 views
2

Я хочу сгенерировать 2 DATETIME, которые представляют последние 2 недели, начиная с воскресенья до субботы 2, Он не должен включать текущую неполную неделю.Создать диапазон дат за последние 2 недели?

Цените свою помощь.

+0

Что вы получили до сих пор? –

+0

У меня даже нет идеи, как это сделать, кроме включения текущей недели. – Ryan

ответ

3

что-то, чтобы начать с:

$timestamp_end = strtotime("last Saturday"); 
$timestamp_start = $timestamp_end - 14 * 24 * 3600; 
+1

Заметьте, что это не предполагает изменений в летнее время и т. Д. За эти 2 недели. – StasM

4

что-то, чтобы работать с, используя прекрасные DateTime классы:

<?php 

$end = new DateTime('last Sunday'); // note that the end date is excluded from a DatePeriod 
$start = clone $end; 
$start->sub(new DateInterval('P14D')); 

foreach (new DatePeriod($start, new DateInterval('P1D'), $end) as $day) { 
    echo $day->format('r'), "\n"; 
} 
0
<?php 
$lastSaturday = strtotime("last Saturday"); 
//$firstSunday = $lastSaturday - (13 * 24 * 3600); 
for($n=13;$n>=0;$n--){ 
    $timeArray[] = $lastSaturday - ($n * 24 * 3600); 
    $dateTime[] = date('Y-m-d H:i l', $lastSaturday - ($n * 24 * 3600)); 
} 
?> 
<pre> 
<?php 
print_r($dateTime); 
?> 
</pre> 
Смежные вопросы