반응형
다음달 / 이전달 구하기
아래의 해당 함수는 월에 대한 이슈가 발생 합니다.
1월29일부터 1월30일까지는 Feb(3월)로 넘어가는 오류가 발생 (ex:2017년1월30일=>2017년3월2일로 나옵니다.)
아래의 strtotime()함수보다는 아래방식이 더 안정적인 것 같습니다.
date("Y년 m월 d일",mktime(0,0,0,date("m")-1,15,date("Y"))) ; 이전달 15일
date("Y년 m월 d일",mktime(0,0,0,date("m")+1,15,date("Y"))) ; 다음달 15일
PHP date()함수를 이용한 다음달 구하기 입니다 . (해당 방식은 1월과 3월에 오류가 있습니다. +31 days, Feb뛰어 넘네요.)
strtotime을 이용한 방법
date('m', strtotime('+1 month'))
[ 다음달의 오늘 날짜 구하기 ]
You can use PHP's strtotime() function:
// One month from today
$date = date('Y-m-d', strtotime('+1 month'));
// One month from a specific date
$date = date('Y-m-d', strtotime('+1 month', strtotime('2015-01-01')));
Just note that +1 month
is not always calculated intuitively. It appears to always add the number of days that exist in the current month.
Current Date | +1 month
-----------------------------------------------------
2015-01-01 | 2015-02-01 (+31 days)
2015-01-15 | 2015-02-15 (+31 days)
2015-01-30 | 2015-03-02 (+31 days, skips Feb)
2015-01-31 | 2015-03-03 (+31 days, skips Feb)
2015-02-15 | 2015-03-15 (+28 days)
2015-03-31 | 2015-05-01 (+31 days, skips April)
2015-12-31 | 2016-01-31 (+31 days)
Some other date/time intervals that you can use:
$date = date('Y-m-d'); // Initial date string to use in calculation
$date = date('Y-m-d', strtotime('+1 day', strtotime($date)));
$date = date('Y-m-d', strtotime('+1 week', strtotime($date)));
$date = date('Y-m-d', strtotime('+2 week', strtotime($date)));
$date = date('Y-m-d', strtotime('+1 month', strtotime($date)));//skips Feb, April error
$date = date('Y-m-d', strtotime('+30 days', strtotime($date)));
[ 날짜 정보 정리 ]
http://byeffort.tistory.com/8 |
* PHP 날짜 처리 모음
- 현재시간 : 년월일시분초 : 20080702132629
$strDate = date("YmdHms");
- 이번 달 : 년월 : 200807
$strDate = date("Ym");
- 오늘 + 10일
$strDate = date("Ymd", mktime(0,0,0, intval(date('m')),intval(date('d')) + 10 ,intval(date('Y'))));
- 이번 달 1일
$strDate = date("Ymd", mktime(0, 0, 0, intval(date('m')), 1, intval(date('Y')) ));
- 이번 달 말일
$strDate = date("Ymd", mktime(0, 0, 0, intval(date('m'))+1, 0, intval(date('Y')) ));
- 지난 달
$strDate = date("Ym", mktime(0, 0, 0, intval(date('m'))-1, intval(date('d')), intval(date('Y')) ));
- 지난 달 1일
$strDate = date("Ymd", mktime(0, 0, 0, intval(date('m'))-1, 1, intval(date('Y')) ));
- 지난 달 말일
$strDate = date("Ymd", mktime(0, 0, 0, intval(date('m')), 0, intval(date('Y')) ));
- 6개월 전 1일
$strDate = date("Ymd", mktime(0, 0, 0, intval(date('m'))-6, 1, intval(date('Y')) )); //해당방법은 문제없음
|
반응형
'WEB언어 > PHP' 카테고리의 다른 글
[PHP] addslashes(), stripslashes() 그리고, get_magic_quotes_gpc() (0) | 2017.07.19 |
---|---|
날짜 포멧 yyyy-dd-mm을 dd/mm/yyyy 변환 (0) | 2017.06.24 |
[php] Last Week, This Week, 지난주 다음주 알기, 지난주 일요일 (0) | 2017.06.17 |
PHP 5.x 에서 PHP 7으로 업그레이드시 작업 (0) | 2017.06.15 |
(PHP) HTML tag 제거 + 특정 HTML tag 허가(Allow) (0) | 2016.02.12 |
time — Return current Unix timestamp (0) | 2015.04.29 |
php 문자열 자르기 substr() 함수 explode() (0) | 2014.10.26 |
php money_format 변환 - 미국 형식 화폐 / MySQL 일자포멧 / 요일확인 (0) | 2014.10.23 |
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)
(로그인하지 않으셔도 가능)