PHP의 날짜관련 함수인 date의 여러 포맷중에 대문자 W 는 몇번째 주(week)인지를 출력해준다.
근데 이게 오동작하는 것처럼 보이는 경우가 발생했다.
2010년 1월 1일을 출력해보면 53번째 주라고 나온다.
// 아래의 출력결과는 2009-53 이다.
echo date('Y-W', mktime(0,0,0,1,1,2010));
도무지 이상해서 좀 찾아봤더니 ISO-8601에 정의된 대로 정확히 동작하고 있는 중이었다.
첫번째 주는 해당 년도의 날짜중 첫번째 목요일이 있는 주다.
그러므로 2010년 1월 1일 ~ 3일 까지는 2010년의 첫번째 주가 아니라 2009년의 53번째 주로 간주된다.
와 그지같아...
'PHP' 카테고리의 다른 글
[PHP] 이미지 바이너리 데이터 가져와서 <img> 태그를 이용해 출력하기. (0) | 2012.08.26 |
---|---|
[PHP] 흥미도 측정 (Interestingness measure) (2) | 2012.05.16 |
[PHP] empty() 사용시 에러 can't use method return value in write context ... (0) | 2011.12.05 |
[PHP] xdebug 설치했는데 var_dump가 예쁘게 안나올 때 (0) | 2011.12.02 |
[PHP] Multi-byte unserialize (0) | 2011.09.16 |