티스토리 뷰
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 |
댓글