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초

관련자료

등록된 댓글이 없습니다.
Today's proverb
“힘내라구.” 밤에 헤어질 때, 아주 좋은 이야기를 나누었을 때든지 아무 관련 없이 로댕은 곧잘 내게 이렇게 말하는 것이었습니다. 그는 알고 있었던 겁니다. 젊었을 때, 이 말이 날마다 얼마나 필요한 것인가를. (릴케)