개발중에 가장 유용하게 쓰이는 시간 관련 함수를 정리해 보았습니다.
우선 간단한 예제인데요..개발중에 더 유용한 정보가 올리면 덧붙여서 올리겠습니다.
오늘도 즐거운 하루 되십시오.
1.time함수
int time(void)
설명 : 현재 시간을 반환한다.
반환값 : timestamp로 반환한다.
2. strtotime함수
int strtotime ( string $time [, int $now = time() ] )
설명 : string값을 통해 timestamp값으로 반환한다.
인수 :
time(date 및 time 포맷)
now(날짜 계산을 위해 기본적으로 사용되어지는 timestamp)
반환값 : timestamp로 반환한다.
3. date함수
string date ( string $format [, int $timestamp ] )
설명 : 정수형으로 주어지는 timestamp나, timestamp가 주어지지 않았을 경우에는 현재 로컬 시간을 사용하여, 주어진 포맷 문자열에 따라 형식화한 문자열을 반환합니다. 즉 timestamp는 선택적이고, 기본값은 time()의 값입니다.
인자 :
format(출력하는 날짜 string의 형식) - 자주 쓰이는 format 정리(매뉴얼 참조)
d -> 일, 앞에 0이 붙는 2 숫자(01에서 31)
D -> 요일 글자 표현, 3문자(Mon에서 Sun)
j -> 앞에 0이 붙지 않는 일(1에서 31)
l -> 요일의 완전한 글자 표현(Sunday에서 Saturday)
N -> 요일의 ISO-8601 숫자 표현(1(월요일)에서 7(일요일))
w -> 요일 숫자 표현(0(일요일)에서 6(토요일))
W -> ISO-8601 주차, 주는 월요이에 시작(42(그 해의 42번째 주))
F -> January나 March 같은 월의 완전한 글자 표현(Januray에서 December)
m -> 0이 붙는 월 숫자 표현(01에서 12)
M -> 월의 축약 글자 표현, 3문자(Jan에서 Dec)
n -> 0이 붙지 않는 월 숫자 표현(1에서 12)
t -> 주어진 월의 일 수(28에서 31)
L -> 윤년 여부(윤년엔 1, 그 외엔 0)
Y -> 연도의 완전한 숫자 표현, 4 숫자(1999나 2012)
y -> 연도의 두 숫자 표현(99나 12)
a -> 오전과 오후의 소문자(am 또는 pm)
A -> 오전과 오후의 대문자(AM 또는 PM)
g -> 0이 붙지 않는 12시간 형식 시(1에서 12)
G -> 0이 붙지 않는 24시간 형식 시(1에서 24)
h -> 0이 붙는 12시간 형식 시(01에서 12)
H -> 0이 붙는 24시간 형식 시(00에서 24)
i -> 0이 붙는 분(00에서 59)
s -> 초, 0이 붙음(00에서 59)
timestamp(선택적인 timestamp 인수는 timestamp가 주어지지 않았을 경우, 현재 로컬 시간을 기본값으로 가지는 integer 유닉스 타임스탬프입니다. 즉, 기본값은 time() 값입니다.)
4. mktime함수
int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
설명 : timestamp형태로 만들어준다.
인자 :
hour : 시간
minute : 분
second : 초
month : 월
day : 일
year : 년도
예시1)날짜 표출
<?php
$nextWeek = time() + (7 * 24 * 60 * 60); // 7 days; 24 hours; 60 mins; 60secs (현재시간에 7일에 해당하는 시간을 더한다)
echo 'Now: '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
// or using strtotime():
echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>
결과값 :
Now: 2012-02-06
Next Week : 2012-02-13
Next Week : 2012-02-13
예시2)날짜 표출
<?php
$recentdate= mktime(0,0,0,2,6,2012); //오늘날짜
$year=date('Y',$recentdate);
$month=date('m',$recentdate);
$day=date('d',$recentdate);
echo 'Now: '.$year."월 ".$month."일 ".$day."일"."\n";
?>
결과값:
Now: 2012-02-06
예시3)strtotime 함수 사용
<?php
echo 'Now: '.date('Y-m-d', strtotime("now"))."\n";
echo '날짜: '.date('Y-m-d', strtotime("10 September 2000"))."\n";
echo '날짜: '.date('Y-m-d', strtotime("+1 day"))."\n";
echo '날짜: '.date('Y-m-d', strtotime("+1 week"))."\n";
echo '날짜: '.date('Y-m-d', strtotime("+1 week 2 days"))."\n";
echo '날짜: '.date('Y-m-d', strtotime("next Thursday"))."\n";
echo '날짜: '.date('Y-m-d', strtotime("last Monday"))."\n";
?>
결과값
Now: 2012-02-06
날짜: 2000-09-10
날짜: 2012-02-17
날짜: 2012-02-13
날짜: 2012-02-15
날짜: 2012-02-16
날짜: 2012-01-30
'찬의 공부방 > PHP Tip' 카테고리의 다른 글
[PHP함수] GD 및 이미지 함수 정리 (2) | 2012.02.14 |
---|---|
PHP에서 이미지 저장하는 방법(copy함수 사용) (1) | 2012.02.14 |
[PHP-MYSQL함수] php에서 사용되는 mysql 관련 함수 정리 (0) | 2012.02.05 |
PHP관련사이트 (0) | 2012.01.27 |
PHP에서 타입을 체크하는 함수(Ctype) (1) | 2012.01.16 |