"함수 weekdate2date()"의 두 판 사이의 차이

59번째 줄: 59번째 줄:


==같이 보기==
==같이 보기==
*[[함수 week2date()]]
*[[함수 week2range()]]
*[[함수 this_week()]]
*[[함수 this_week()]]
*[[함수 date2weekdate()]]
*[[함수 date2weekdate()]]
*[[함수 ordinaldate2date()]]
*[[함수 ordinaldate2date()]]

2015년 7월 2일 (목) 21:41 판

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