티스토리 뷰


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"));
$since_time = intval( ( strtotime('now') - strtotime($write_date) ) / 3600 );
  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초

'웹개발 > Php' 카테고리의 다른 글

Kohana3 - 연구  (0) 2011.06.08
csv 파일 저장, 읽기  (0) 2011.03.24
추상 팩토리 패턴  (0) 2010.12.20
Adapter 패턴  (0) 2010.12.20
PHP 참조 (PHP References) - 2 (고급편)  (0) 2010.12.20
댓글
D-DAY
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함