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에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5276 | 2년 전 | 1336 | |||
| 5275 | 2년 전 | 1405 | |||
| 5274 | 기타 | 2년 전 | 821 | ||
| 5273 | JavaScript |
swallow
|
2년 전 | 1053 | |
| 5272 | node.js |
swallow
|
2년 전 | 748 | |
| 5271 | JavaScript |
swallow
|
2년 전 | 1498 | |
| 5270 | PHP |
swallow
|
2년 전 | 848 | |
| 5269 | node.js |
swallow
|
2년 전 | 685 | |
| 5268 | node.js |
swallow
|
2년 전 | 1217 | |
| 5267 | PHP |
swallow
|
2년 전 | 1599 | |
| 5266 | MySQL |
swallow
|
2년 전 | 1095 | |
| 5265 | PHP |
swallow
|
2년 전 | 2035 | |
| 5264 | JavaScript |
swallow
|
2년 전 | 861 | |
| 5263 | 기타 |
swallow
|
2년 전 | 2984 | |
| 5262 | 기타 |
swallow
|
2년 전 | 670 | |
| 5261 | node.js |
swallow
|
2년 전 | 1065 | |
| 5260 | JavaScript |
swallow
|
2년 전 | 1514 | |
| 5259 | node.js |
swallow
|
2년 전 | 736 | |
| 5258 | node.js |
swallow
|
2년 전 | 1749 | |
| 5257 | node.js |
swallow
|
2년 전 | 1301 | |
| 5256 | PHP |
swallow
|
2년 전 | 1941 | |
| 5255 | node.js |
swallow
|
2년 전 | 692 | |
| 5254 | PHP |
swallow
|
2년 전 | 3015 | |
| 5253 | node.js |
swallow
|
2년 전 | 680 | |
| 5252 | 정규표현식 |
swallow
|
2년 전 | 625 | |
| 5251 | node.js |
swallow
|
2년 전 | 882 | |
| 5250 | PHP |
swallow
|
2년 전 | 1117 | |
| 5249 | node.js |
swallow
|
2년 전 | 1066 | |
| 5248 | PHP |
swallow
|
2년 전 | 1411 | |
| 5247 | node.js |
swallow
|
2년 전 | 1019 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기