PHP 날짜 계산 및 표현을 쉽게..
컨텐츠 정보
- 24,653 조회
- 0 추천
- 목록
본문
출처 : http://webphp.tistory.com/3
PHP는 타 언어에 비해 날짜 처리가 쉽게 되어 있습니다. 하지만, 많은 개발자 분들은 예전 C언어의 형식을 사용하고 있어 안타깝네요. ^^*
1. 보통 DB에서 날짜나 시간을 가져오게 되면 String 형태로 가져오게 됩니다. 이때, Unix Timestamp 형태로 변형시켜 비교등의 작업을 할 때 사용할 수 있는 strtotime($string) 함수입니다.
예1. 특정String을 변형 -> strtotime("2008-06-25 23:57:33");
예2. 현재시간 가져오기 -> strtotime("now");
예3. 오늘부터 몇 일전(days, months, years 도 사용가능) -> strtotime("-15 days");
예4. 오늘부터 몇 일후(days, months, years 도 사용가능) -> strtotime("+21 days");
예5. 특정일로 부터 몇일전/후 -> strtotime("+12 days", strtotime("2008-06-25"));
2. 특정 날짜를 원하는 형식으로 출력 할 수도 있는 strftime($1, $2) 함수 입니다. $1에는 날짜를 출력하기 위한 포맷이 들어갑니다. $2에는 출력을 원하는 시간의 Unix Timestamp가 들어갑니다. $2는 앞서 설명한strtotime()을 활용하면 되겠습니다. $2는 생략하게 되면 현재 시간이 표시 됩니다.
setlocale(LC_TIME, "ko_KR")을 미리 한 번 실행하면, 요일,시간,월표현에서 한국어로 결과를 얻을 수 있답니다.
예1. 현재 시간 출력 -> strftime("%Y-%m-%d %H:%M:%S") = 2008-06-25 15:47:58
예2. 특정일 시간 출력 -> strftime("%y.%m.%d %r", strtotime("-15 days")) = 08.06.10 03:47:58 PM
예3. 요일 출력 -> strftime("%d %b %Y %a") = 25 Jun 2008 Wed
예4. 요일 출력 -> strftime("%d %B %Y %A") = 25 June 2008 Wednesday
예5. 한국어 요일 출력 -> setlocale(LC_TIME, "ko_KR"); echo strftime("%a %A"); -> 수 수요일
예6. 한국어 월 출력 -> setlocale(LC_TIME, "ko_KR"); echo strftime("%b %B"); -> 6월 6월
예7. 한국어 시간 출력 -> setlocale(LC_TIME, "ko_KR"); echo strftime("%r"); -> 오후 03시 47분 58초
관련자료
-
링크