PHP & Others

PHP 날짜 계산 및 표현을 쉽게..

컨텐츠 정보

본문

출처 : 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초

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
네 마음 안에서 구하라, 마음 밖에서 구하면 천년을 구해도 허사다. (부처님)