Php 6个月内每周的第一天

Php 6个月内每周的第一天,php,date,Php,Date,我想知道如何才能在过去6个月的一周中的第一天得到一个有效的解决方案 如果我写date(“Y-m-d 00:00:00”,strotime(“-1周”,date(“Y-m-d”));它只是从当前日期减去7天;我想做的是总是从该周返回星期一的日期 预期结果: 2011-8-8 00:00:00 2011-8-1 00:00:00 2011-7-25 00:00:00 2011-7-18 00:00:00 etc 这应该做到: for ($i=0; $i<52/2; $i++) echo da

我想知道如何才能在过去6个月的一周中的第一天得到一个有效的解决方案

如果我写
date(“Y-m-d 00:00:00”,strotime(“-1周”,date(“Y-m-d”));
它只是从当前日期减去7天;我想做的是总是从该周返回星期一的日期

预期结果:

2011-8-8 00:00:00
2011-8-1 00:00:00
2011-7-25 00:00:00
2011-7-18 00:00:00
etc
这应该做到:

for ($i=0; $i<52/2; $i++)
echo date('Y-m-d', mktime(1, 0, 0, date('m'), date('d')-date('w')-$i*7+1, date('Y'))) . " 00:00:00\n";
对于($i=0;$i这应该可以做到:

for ($i=0; $i<52/2; $i++)
echo date('Y-m-d', mktime(1, 0, 0, date('m'), date('d')-date('w')-$i*7+1, date('Y'))) . " 00:00:00\n";
对于($i=0;$i我推荐

在PHP 5.3之前,您可以使用
strotime

<?php
define('NUM_WEEKS', 10);

$dates = Array();
$dates[] = strtotime('Monday');

for ($i = 0; $i < NUM_WEEKS-1; $i++)
    $dates[] = strtotime('-1 week', $dates[$i]);

foreach ($dates as $date)
    echo strftime('%c', $date) . "\n";
?>
我推荐

在PHP 5.3之前,您可以使用
strotime

<?php
define('NUM_WEEKS', 10);

$dates = Array();
$dates[] = strtotime('Monday');

for ($i = 0; $i < NUM_WEEKS-1; $i++)
    $dates[] = strtotime('-1 week', $dates[$i]);

foreach ($dates as $date)
    echo strftime('%c', $date) . "\n";
?>
如果你想定在周六(或其他任何一天) 在一周的第一天选择数据集,这里有一个很好的 解决方法:


资料来源:

你可能想要的是

<?php  $last_mon=date("z", strtotime("last Monday ")); 
$second_last_mon=date("z", strtotime("last Monday-1 week"));  ?>

等等

如果你想定在周六(或其他任何一天) 在一周的第一天选择数据集,这里有一个很好的 解决方法:


资料来源:

你可能想要的是

<?php  $last_mon=date("z", strtotime("last Monday ")); 
$second_last_mon=date("z", strtotime("last Monday-1 week"));  ?>


等等

我不会说太多,除了。来吧。这类事情有很多例子。看看谁被否决了吗?这个问题很有条理,也很有道理。(不过,@Georges,你应该告诉我们你尝试了什么,出了什么错。)朋友们,这个问题有什么想法吗?我真的不想说太多,除了。来吧。这类事情有很多例子。看谁投了反对票?这个问题结构合理,完全正确。(不过,@Georges,你应该告诉我们你试过什么,出了什么问题。)朋友们,这个问题有什么想法吗