自然周嘛,顾名思义,星期一是一周的第一天, 在MySQL中, 可以使用YEARWEEK函数获得:
SELECT SQL_NO_CACHE yearweek( from_unixtime( unix_timestamp(’2010-06-16 19:13:01′)-86400 ) ) AS week;
结果是 201024

PHP中就稍稍有些麻烦了:

 1 <?php
 2
 3 $dateStr = ’2010-06-16 19:13:01;
 4 echo  getYearWeek($dateStr);
 5
 6 //获取自然周
 7 function getYearWeek($dateStr){
 8     $unixtime = strtotime($dateStr);
 9     $ym = strftime(%Y%m‘, $unixtime);
10     $w = strftime(%V‘, $unixtime);
11     
12     $y = substr($ym, 0, 4);
13     $m = substr($ym, 4, 2);
14     if( 6>(int)$m && 50<$w ){
15         $y = (int)$y - 1;
16     }
17     
18     return $y.$w;
19 }

输出 201024 ; 如果需要计算自然周的第一天和最后一天,不妨参考taobao QA团队的文章: php 取得某个自然周的第一天和最后一天的方法