正要做本周统计和上周统计
怎么知道本周的日期和上周的日期如今日date('Y-m-d');

解决方案 »

  1.   

    见手册
    w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六) 
    W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周) 
      

  2.   

    格式 date("Y m d",strtotime('2007-08-27 17:17:18')) 
    因为你限定的就是输出"Y m d"格式的时间,也就是年月日,没有给定时分秒的格式,通常格式为("Y m d H:i:s",strtotime('2007-08-27 17:17:18')),如果你想修改,下面是格式表: a 
    小写的上午和下午值 
    am 或 pm A 
    大写的上午和下午值 
    AM 或 PM B 
    Swatch Internet 标准时 
    000 到 999 d 
    月份中的第几天,有前导零的 2 位数字 
    01 到 31 D 
    星期中的第几天,文本表示,3 个字母 
    Mon 到 Sun F 
    月份,完整的文本格式,例如 January 或者 March 
    January 到 December g 
    小时,12 小时格式,没有前导零 
    1 到 12 G 
    小时,24 小时格式,没有前导零 
    0 到 23 h 
    小时,12 小时格式,有前导零 
    01 到 12 H 
    小时,24 小时格式,有前导零 
    00 到 23 i 
    有前导零的分钟数 
    00 到 59> I 
    是否为夏令时 
    如果是夏令时为 1,否则为 0 j 
    月份中的第几天,没有前导零 
    1 到 31 l(“L”的小写字母) 
    星期几,完整的文本格式 
    Sunday 到 Saturday L 
    是否为闰年 
    如果是闰年为 1,否则为 0 m 
    数字表示的月份,有前导零 
    01 到 12 M 
    三个字母缩写表示的月份 
    Jan 到 Dec n 
    数字表示的月份,没有前导零 
    1 到 12 O 
    与格林威治时间相差的小时数 
    例如:+0200 r 
    RFC 822 格式的日期 
    例如:Thu, 21 Dec 2000 16:01:07 +0200 s 
    秒数,有前导零 
    00 到 59> S 
    每月天数后面的英文后缀,2 个字符 
    st,nd,rd 或者 th。可以和 j 一起用。 t 
    给定月份所应有的天数 
    28 到 31 T 
    本机所在的时区 
    例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。 U 
    从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 
    参见 time() w 
    星期中的第几天,数字表示 
    0(表示星期天)到 6(表示星期六) W 
    ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 
    例如:42(当年的第 42 周) Y 
    4 位数字完整表示的年份 
    例如:1999 或 2003 y 
    2 位数字表示的年份 
    例如:99 或 03 z 
    年份中的第几天 
    0 到 366 Z 
    时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 
    -43200 到 43200
      

  3.   

    http://topic.csdn.net/u/20081127/13/ba0fe475-3f4f-40ea-b6db-17484ac23930.html和这个有点类似,function weekNum($startday, $nowday)
    {
    return ceil(($nowday - $startday) / 7);
    }
    $ChineseWeek = array(0=>'星期天',1=>'星期一',...);
    //第一个星期的日期
    $StartWeek = getdate(strtotime('08/11/21'));
    $StartDay = $StartWeek['0'] - $StartWeek['wday']*3600*24;
    $TheWeek = strtotime('08/11/21');//当前查询日期
    $TheWeekInfo = getdate($TheWeek);
    $SDay = $TheWeek - $TheWeekInfo['wday']*3600*24;
    $EDay = $SDay + 3600*24*7;
    echo '第'+weekNum($StartDay,$TheWeek)+'周';
    for ($i=$SDay;$i<$EDay;$i+=3600*24)
    {
    $DayInfo = getdate($i);
    echo date("y/m/d", $i).$ChineseWeek[$DayInfo['wday']]."<BR>\n";
    }