함수 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 }}