N개월 뒤 오늘 구하는 소스 - strtotime 오류 방지
데모 - http://demo.widgets.co.kr/?c=64/67/68
달력 등을 만들때 가끔 만나는 오류 중 하나입니다.
다음달 말일이 이번달보다 많을 때 한달 뒤 오늘은 날짜가 다르게 나오죠.
이건 버그가 아니라고 func 자체를 수정할 계획이 없다고 합니다.
향후 고처질 버그도 아니고 그대로 사용하면 필시 오류를 발생시킵니다.
그래서 만들어 쓰는 함수입니다.
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
게시판 목록
개발자팁
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5246 | node.js |
swallow
|
2년 전 | 1102 | |
| 5245 | PHP |
swallow
|
2년 전 | 2522 | |
| 5244 | PHP |
swallow
|
2년 전 | 1283 | |
| 5243 | JavaScript |
swallow
|
2년 전 | 683 | |
| 5242 | node.js |
swallow
|
2년 전 | 664 | |
| 5241 | node.js |
swallow
|
2년 전 | 773 | |
| 5240 | MySQL |
swallow
|
2년 전 | 801 | |
| 5239 | MySQL | 2년 전 | 775 | ||
| 5238 | JavaScript | 2년 전 | 976 | ||
| 5237 | 웹서버 |
swallow
|
2년 전 | 3984 | |
| 5236 | PHP |
swallow
|
2년 전 | 897 | |
| 5235 | PHP |
swallow
|
2년 전 | 1376 | |
| 5234 | 기타 | 2년 전 | 750 | ||
| 5233 | jQuery |
swallow
|
2년 전 | 2031 | |
| 5232 | 2년 전 | 612 | |||
| 5231 | 2년 전 | 1166 | |||
| 5230 | 2년 전 | 1067 | |||
| 5229 | PHP |
swallow
|
2년 전 | 1018 | |
| 5228 | MySQL | 2년 전 | 720 | ||
| 5227 | PHP |
swallow
|
2년 전 | 833 | |
| 5226 | PHP |
swallow
|
2년 전 | 1807 | |
| 5225 | PHP | 2년 전 | 574 | ||
| 5224 | node.js |
swallow
|
2년 전 | 4078 | |
| 5223 | PHP |
swallow
|
2년 전 | 1314 | |
| 5222 | 기타 |
techstar
|
2년 전 | 556 | |
| 5221 | PHP | 2년 전 | 648 | ||
| 5220 |
swallow
|
2년 전 | 901 | ||
| 5219 | 2년 전 | 875 | |||
| 5218 | 2년 전 | 520 | |||
| 5217 | 2년 전 | 995 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기