自然周嘛,顾名思义,星期一是一周的第一天, 在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 取得某个自然周的第一天和最后一天的方法
说到专业上面了,要慢慢看