"함수 date array()"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(다른 사용자 한 명의 중간 판 하나는 보이지 않습니다)
6번째 줄: 6번째 줄:


==Bash==
==Bash==
[[분류: Bash]]
{{참고|Bash 날짜 목록 생성}}
{{참고|Bash 날짜 목록 생성}}
<source lang='bash'>
<syntaxhighlight lang='bash'>
START=2019-12-30
START=2019-12-30
END=2020-01-02
END=2020-01-02
25번째 줄: 26번째 줄:
# [2020-01-01]
# [2020-01-01]
# [2020-01-02]
# [2020-01-02]
</source>
</syntaxhighlight>


==PHP==
==PHP==
[[category: PHP]]
[[category: PHP]]
<source lang='php'>
<syntaxhighlight lang='php'>
function date_array($start, $end) {
function date_array($start, $end) {
$reversed = ($start>$end);
$reversed = ($start>$end);
61번째 줄: 62번째 줄:
)
)
*/
*/
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[DateRange()]]
*[[DateRange()]]

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


1 개요[ | ]

함수 date_array()
날짜 목록 생성 함수 date_array()

2 Bash[ | ]

START=2019-12-30
END=2020-01-02
S=$(echo $START $END | awk '{
  split($1,s,"-")
  split($2,e,"-")
  s2=mktime(s[1] " " s[2] " " s[3] " 0 0 0")
  e2=mktime(e[1] " " e[2] " " e[3] " 0 0 0")
  for(i=s2;i<=e2;i+=86400)print strftime("%Y-%m-%d",i)
}')
ARR=(${S// / })
for VALUE in "${ARR[@]}"; do
        echo "[$VALUE]"
done
# [2019-12-30]
# [2019-12-31]
# [2020-01-01]
# [2020-01-02]

3 PHP[ | ]

function date_array($start, $end) {
	$reversed = ($start>$end);
	$min = $reversed ? $end : $start;
	$max = $reversed ? $start : $end;

	$dates = array();
	$date = $min;
	while( $date <= $max ) {
		$dates[] = $date;
		$date = date('Y-m-d', strtotime($date.' +1 day'));
	}
	return $reversed ? array_reverse($dates) : $dates;
}
print_r( date_array('1999-12-30', '2000-01-02') );
print_r( date_array('2000-01-02', '1999-12-30') );
/*
Array
(
    [0] => 1999-12-30
    [1] => 1999-12-31
    [2] => 2000-01-01
    [3] => 2000-01-02
)
Array
(
    [0] => 2000-01-02
    [1] => 2000-01-01
    [2] => 1999-12-31
    [3] => 1999-12-30
)
*/

4 같이 보기[ | ]

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