함수 weekdate2date()

Jmnote (토론 | 기여)님의 2015년 7월 2일 (목) 21:40 판 (Jmnote 사용자가 함수 weekdate2date 문서를 함수 weekdate2date() 문서로 옮겼습니다)

1 개요

week date to date
  • test set
2004-W53-6 → 2005-01-01
2004-W53-7 → 2005-01-02
2005-W52-6 → 2005-12-31
2007-W01-1 → 2007-01-01
2007-W52-7 → 2007-12-30
2008-W01-1 → 2007-12-31
2008-W01-2 → 2008-01-01
2009-W01-1 → 2008-12-29
2009-W01-3 → 2008-12-31
2009-W01-4 → 2009-01-01
2009-W53-4 → 2009-12-31
2009-W53-7 → 2010-01-03

2 Excel

=DATE(LEFT(A1,4),1,1)-WEEKDAY(DATE(LEFT(A1,4),1,1)-1)+7*(MID(A1,7,2)-INT((8-WEEKDAY(DATE(LEFT(A1,4),1,1),2))/4))+RIGHT(A1,1)

3 JavaScript

function weekdate2date(wd) {
	console.log(wd);
	var a = wd.split('-');
	var y = parseInt(a[0]);
	var w = parseInt(a[1].substring(1));
	var d = parseInt(a[2]);
	
	var b = new Date(y,0,w*7);
	var dow = b.getDay();
	var dow = (dow<4)? dow+7 : dow;
	var c = b;
	c.setDate(b.getDate()-dow+d);
	return c;
}
console.log( weekdate2date('2004-W53-4') ); // Thu Dec 30 2004 00:00:00 GMT+0900 (대한민국 표준시)
console.log( weekdate2date('2004-W53-5') ); // Fri Dec 31 2004 00:00:00 GMT+0900 (대한민국 표준시)
console.log( weekdate2date('2004-W53-6') ); // Sat Jan 01 2005 00:00:00 GMT+0900 (대한민국 표준시)
console.log( weekdate2date('2004-W53-7') ); // Sun Jan 02 2005 00:00:00 GMT+0900 (대한민국 표준시)

4 PHP

$weekdate = '2009-W01-3';
$date = date("Y-m-d", strtotime($weekdate));
echo $date;
function weekdate2date($weekdate) {
  return date("Y-m-d", strtotime($weekdate));
}

5 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}