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

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
18번째 줄: 18번째 줄:
==Excel==
==Excel==
[[category: Excel]]
[[category: Excel]]
<source lang='php'>
<syntaxhighlight lang='php'>
=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)
=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)
</source>
</syntaxhighlight>


==JavaScript==
==JavaScript==
[[category: JavaScript]]
[[category: JavaScript]]
<source lang='JavaScript'>
<syntaxhighlight lang='JavaScript'>
function weekdate2date(wd) {
function weekdate2date(wd) {
console.log(wd);
console.log(wd);
43번째 줄: 43번째 줄:
console.log( weekdate2date('2004-W53-6') ); // Sat Jan 01 2005 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 (대한민국 표준시)
console.log( weekdate2date('2004-W53-7') ); // Sun Jan 02 2005 00:00:00 GMT+0900 (대한민국 표준시)
</source>
</syntaxhighlight>


==PHP==
==PHP==
[[category: PHP]]
[[category: PHP]]
<source lang='php'>
<syntaxhighlight lang='php'>
$weekdate = '2009-W01-3';
$weekdate = '2009-W01-3';
$date = date("Y-m-d", strtotime($weekdate));
$date = date("Y-m-d", strtotime($weekdate));
echo $date;
echo $date;
</source>
</syntaxhighlight>
<source lang='php'>
<syntaxhighlight lang='php'>
function weekdate2date($weekdate) {
function weekdate2date($weekdate) {
   return date("Y-m-d", strtotime($weekdate));
   return date("Y-m-d", strtotime($weekdate));
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==

2020년 11월 2일 (월) 02:36 기준 최신판

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