함수들이 계산을 할때 한달은 30일 혹은 31일 기준이다.
해서 매월 일수가 다른 경우 날짜가 다르게 나타나거나 월이 한번 더 넘어가기도 한다.
예를 들어 5월 31일부터 한달 후 라고 하면 6월 30일이 아니라 7월 1일이 나온다.
예약을 3개월단위로 끊어서 받는 경우 지금이 5월이면 7월 까지만 예약이 가능해야 하는데, 8월이 열리는 경우가 있다는 것이다.
이 현상은 버그라고 세계 수많은 개발자가 항의하지만, 정작 당사자들은 버그가 아니니 우회법을 개발해 사용하라고 공식 답변했다.
근데 우회법은 공식적으로 내놓지 않았다는게 문제.
정상적인 함수로는 이 동작에 오류가 존재하기에 함수로 만들었다.
function getDateTime($now, $term=1) {
$time = strtotime(($term>0?"+":"").$term." month", strtotime(date("Y-m",strtotime($now))." -01 "));
$l = date('t', $time);
return date("Y-m-".$l, $time);
}
원리는 간단하다.
월과 일을 나눠서 월단위로 계산을 한 후 일단위를 대입한다.
일 단위는 그달의 마지막 일자를 구해서 붙인다.
아래처럼 출력해서 테스트를 했다.
출력 예 :
foreach(array('2015-10-31','2015-11-30','2015-12-31','2016-01-31','2016-02-29','2016-03-31','2016-04-30','2016-05-31','2015-10-04','2015-11-18','2015-12-27') as $date ){
echo $date.' → '.getDateTime($date,3).'<br>';
}
결과물
2015-10-31 → 2016-01-31
2015-11-30 → 2016-02-29
2015-12-31 → 2016-03-31
2016-01-31 → 2016-04-30
2016-02-29 → 2016-05-31
2016-03-31 → 2016-06-30
2016-04-30 → 2016-07-31
2016-05-31 → 2016-08-31
2015-10-04 → 2016-01-31
2015-11-18 → 2016-02-29
2015-12-27 → 2016-03-31
출처 : 잠돌의 티스토리
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7230 | 11년 전 | 3636 | ||
| 7229 | 11년 전 | 3759 | ||
| 7228 | 11년 전 | 3800 | ||
| 7227 | 11년 전 | 3922 | ||
| 7226 | 11년 전 | 2373 | ||
| 7225 | 11년 전 | 17461 | ||
| 7224 |
AngryDev
|
11년 전 | 1368 | |
| 7223 |
돌아온깡통
|
11년 전 | 1120 | |
| 7222 |
돌아온깡통
|
11년 전 | 1063 | |
| 7221 |
돌아온깡통
|
11년 전 | 893 | |
| 7220 |
돌아온깡통
|
11년 전 | 1012 | |
| 7219 |
돌아온깡통
|
11년 전 | 845 | |
| 7218 |
돌아온깡통
|
11년 전 | 674 | |
| 7217 |
돌아온깡통
|
11년 전 | 1059 | |
| 7216 |
돌아온깡통
|
11년 전 | 802 | |
| 7215 |
돌아온깡통
|
11년 전 | 722 | |
| 7214 |
돌아온깡통
|
11년 전 | 1070 | |
| 7213 |
돌아온깡통
|
11년 전 | 939 | |
| 7212 |
돌아온깡통
|
11년 전 | 723 | |
| 7211 |
돌아온깡통
|
11년 전 | 881 | |
| 7210 |
돌아온깡통
|
11년 전 | 905 | |
| 7209 |
돌아온깡통
|
11년 전 | 900 | |
| 7208 |
돌아온깡통
|
11년 전 | 1017 | |
| 7207 |
돌아온깡통
|
11년 전 | 631 | |
| 7206 |
돌아온깡통
|
11년 전 | 695 | |
| 7205 |
돌아온깡통
|
11년 전 | 877 | |
| 7204 |
돌아온깡통
|
11년 전 | 740 | |
| 7203 |
돌아온깡통
|
11년 전 | 751 | |
| 7202 |
돌아온깡통
|
11년 전 | 731 | |
| 7201 |
돌아온깡통
|
11년 전 | 681 | |
| 7200 |
돌아온깡통
|
11년 전 | 711 | |
| 7199 |
돌아온깡통
|
11년 전 | 1334 | |
| 7198 |
돌아온깡통
|
11년 전 | 662 | |
| 7197 |
돌아온깡통
|
11년 전 | 980 | |
| 7196 |
돌아온깡통
|
11년 전 | 889 | |
| 7195 |
돌아온깡통
|
11년 전 | 625 | |
| 7194 |
돌아온깡통
|
11년 전 | 654 | |
| 7193 |
돌아온깡통
|
11년 전 | 719 | |
| 7192 |
돌아온깡통
|
11년 전 | 749 | |
| 7191 |
joe031
|
11년 전 | 1278 | |
| 7190 | 11년 전 | 4164 | ||
| 7189 | 11년 전 | 1256 | ||
| 7188 |
잘살아보자
|
11년 전 | 974 | |
| 7187 | 11년 전 | 1453 | ||
| 7186 |
kiplayer
|
11년 전 | 7558 | |
| 7185 | 11년 전 | 1148 | ||
| 7184 |
잘살아보자
|
11년 전 | 2346 | |
| 7183 |
잘살아보자
|
11년 전 | 1162 | |
| 7182 |
잘살아보자
|
11년 전 | 1231 | |
| 7181 | 11년 전 | 1501 | ||
| 7180 |
하얀비요일
|
11년 전 | 997 | |
| 7179 |
잘살아보자
|
11년 전 | 1000 | |
| 7178 | 11년 전 | 991 | ||
| 7177 | 11년 전 | 1016 | ||
| 7176 | 11년 전 | 1668 | ||
| 7175 |
|
11년 전 | 1052 | |
| 7174 |
kiplayer
|
11년 전 | 1184 | |
| 7173 | 11년 전 | 964 | ||
| 7172 |
잘살아보자
|
11년 전 | 4649 | |
| 7171 |
잘살아보자
|
11년 전 | 716 | |
| 7170 | 11년 전 | 1083 | ||
| 7169 |
초심의설렘
|
11년 전 | 1480 | |
| 7168 | 11년 전 | 1017 | ||
| 7167 |
잘살아보자
|
11년 전 | 5296 | |
| 7166 |
잘살아보자
|
11년 전 | 3450 | |
| 7165 | 11년 전 | 4964 | ||
| 7164 | 11년 전 | 840 | ||
| 7163 | 11년 전 | 1216 | ||
| 7162 |
울라라라우
|
11년 전 | 1401 | |
| 7161 | 11년 전 | 1275 | ||
| 7160 |
skyler
|
11년 전 | 1194 | |
| 7159 |
|
11년 전 | 717 | |
| 7158 |
|
11년 전 | 3367 | |
| 7157 |
잘살아보자
|
11년 전 | 2902 | |
| 7156 |
잘살아보자
|
11년 전 | 2237 | |
| 7155 |
잘살아보자
|
11년 전 | 1465 | |
| 7154 |
잘살아보자
|
11년 전 | 1453 | |
| 7153 | 11년 전 | 2905 | ||
| 7152 |
울라라라우
|
11년 전 | 836 | |
| 7151 | 11년 전 | 1071 | ||
| 7150 |
잘살아보자
|
11년 전 | 2389 | |
| 7149 |
잘살아보자
|
11년 전 | 3305 | |
| 7148 |
잘살아보자
|
11년 전 | 1203 | |
| 7147 |
잘살아보자
|
11년 전 | 776 | |
| 7146 |
잘살아보자
|
11년 전 | 1415 | |
| 7145 |
잘살아보자
|
11년 전 | 734 | |
| 7144 |
잘살아보자
|
11년 전 | 1327 | |
| 7143 |
잘살아보자
|
11년 전 | 768 | |
| 7142 |
잘살아보자
|
11년 전 | 1460 | |
| 7141 |
잘살아보자
|
11년 전 | 1207 | |
| 7140 |
잘살아보자
|
11년 전 | 2025 | |
| 7139 |
잘살아보자
|
11년 전 | 3688 | |
| 7138 |
잘살아보자
|
11년 전 | 3184 | |
| 7137 |
잘살아보자
|
11년 전 | 3638 | |
| 7136 |
잘살아보자
|
11년 전 | 1397 | |
| 7135 |
gooroo
|
11년 전 | 1626 | |
| 7134 |
열라뽕똬이
|
11년 전 | 2328 | |
| 7133 |
|
11년 전 | 1027 | |
| 7132 | 11년 전 | 1441 | ||
| 7131 | 11년 전 | 3581 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기