데모 - 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
게시글 목록
| 번호 | 제목 |
|---|---|
| 17191 | |
| 17162 | |
| 17160 | |
| 17158 | |
| 17156 | |
| 17155 | |
| 17153 | |
| 17151 | |
| 17145 | |
| 17135 |
Mobile
플러터와 네이티브 어플
2
|
| 17131 | |
| 17125 | |
| 17114 | |
| 17107 |
JavaScript
정규표현식 정리
2
|
| 17099 | |
| 17096 | |
| 17089 | |
| 17088 | |
| 17082 | |
| 17079 | |
| 17078 | |
| 17077 | |
| 17070 | |
| 17068 |
JavaScript
포인문으로 엘레먼트의 "속살" 보기
4
|
| 17067 | |
| 17063 | |
| 17060 | |
| 17048 | |
| 17045 | |
| 17044 |
PHP
알고있으면 좋은 코드
2
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기