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

20번째 줄: 20번째 줄:
<source lang='php'>
<source 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>
==JavaScript==
[[category: JavaScript]]
<source lang='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+8 : dow+1;
var c = b;
c.setDate(b.getDate()-dow+d+1);
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 (대한민국 표준시)
</source>
</source>



2015년 2월 16일 (월) 17:17 판

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+8 : dow+1;
	var c = b;
	c.setDate(b.getDate()-dow+d+1);
	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 }}