Skip to content
컴퓨터잡담
2009.08.06 15:11

PHP 시간관련 함수

조회 수 21183 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

PHP 시간관련 함수


가끔씩 쓰는데 외우기는 싫은 함수.

맨날 찾아보다가 이젠 귀찮아서 스크랩 해 놓는다. ㅋㅋㅋ


시간 관련함수들에 대해서 한번 이야기 해볼까합니다. 
아마 게시판뿐만 아니라.. PHP를 다룰때.. 시간을 다뤄야 하는 경우가 무지하게 많을겁니다. 
뭐든 잘다루면 좋쵸..^^ 

꼭 필요한 함수들만 설명하도록 하겠습니다. 

time() 

현재 시간을 타임스탬프값으로 받아옵니다. 
여기서 타임스탬프라는건.. 1970년인가.. 여튼.. 뭐 옛날 어느한날을 기준으로잡고 
그 후로 흐른시간을 초로 환산한 시간이래여.. --;; 
왜 이런걸 생각해냈는지는 모르겠지만.. 여튼 잘한일 같아요..^_^ 사용하기 편하거든요.. 

첨에는 좀 어색한것 같아도.. 나중에 자주 다루다 보면.. 이게 젤로 편해요.. 

현재 시간을 얻고싶다!! 

$now=time(); 

끝!! 

무지하게 간단하죠?? 
그럼 이걸 만약에 출력하거나 디비에 저장한다면.. 어떻게 보일까요?? 

제 홈페이지에 마지막으로 가입하신분(현재기준)의 타임스탬프값이 
1029569828 으로 나오네요..^^ 

여튼.. 이렇게 저장이 됩니다. 
그렇다면 이렇게 디비에 저장된걸.. 불러와서는 어떻게 "년-월-일" 이런식으로 출력할까요? 

바로 date()라는 함수를 사용합니다. 
사용방법은 이러합니다. 

date("출력하고싶은 형태",값); 

좀전에 $now=time(); 라고 현시간을 저장했죠?? 
그럼 이걸 "2002-8-17" 로 출력하고싶다면 

echo date("Y-m-d",$now); 요렇게 하시면 됩니다..^^ 쉽죠?? 

여기서 Y가 년도, m이 달, d가 날짜죠.. 
date함수에서 사용하는 인수에 대해서 함 알아볼까요?? 


a : 'am' , 'pm' 을 나타냅니다. 
A : 'AM' , 'PM' 을 나타냅니다. 
d : 날짜를 2자리로 출력함 (01, 02, 03, .. ) 
j : 날짜를 한자리로 출력함 ( 0은 제외하고 1, 2, 3 .. ) [참고로 소문자 "제이" 임] 
F : 달을 영문으로 나타냄 (January, February.. ) 
m : 달을 숫자로 표시 (01, 02, 03..) 
M : 달을 영문으로 나타내지만.. 3자리로 나타냄 (Jan, Feb) 
t : 주어진 달의 마지막 날짜를 나타냄 ( 28 ~ 31 ) 
h : 시간 (12시간 기준 11, 12, 1, 2, ...) 
H 시간 (24시간 기준 11, 12, 13, 14...) 
i : 분(숫자로 표시) 
s : 초(숫자로 표시) 
S : 영어 서수 (th, nd) 
I : 요일의 긴표시 (sunday, monday..) 
D : 요일(짧은영문으로 표기 sun, mon,..) 
Y : 4자리 연도 (2001, 2002) 
y : 2자리 연도 


뭐 이정도를 사용할수가 있답니다..^^ 
마지막 예를 한번 보여드릴게요.. 
현재시간을 2002년 8월 17일 5시 11분 24초 이렇게 표기할려면 
date("Y년 m월 d일 H시 i분 s초",$now); 요렇게 하면 된답니다..^^ 

사실 이두가지만 확실히 알고있어도 웬만한건 다 할수가 있답니다..^^ 

그래도 자주 사용되는 두가지 함수를 더 설명할게요.. 

mktime() 함수입니다. 

이것도 역시 타임스탬프값을 얻어오는겁니다. 
근데.. time()은 현재시간을 타임스탬프값으로 바꾸는거고 

mktime()은 원하는 시간을 정한다음 그 시간을 타임스탬프값으로 만드는거죠.. 
아마 제생각에 mktime에서 mk는 make가 아닐까 싶네요..^__^ 
사용법은 역시 아래를 보시면 됩니다. 

mktime(시간, 분, 초, 월, 일, 년); 

이렇게 사용하는겁니다. 이건 언제 많이 사용하냐면.. 
어제, 오늘, 그리고 내일을 정확하게 구분할때 사용을 한답니다. 

즉, 오늘은 2002년 8월 17일 12시 땡 하면서 시작이 됐죠?? 
그럼 mktime(0,0,0,8,17,2002); 라고 하면 아마 되겠죠?? 
그럼 내일이 되기 1초전은? mktime(23,59,59,8,17,2002); 이렇게 하면.. 
오늘의 마지막 순간이 되겠죠?? ^^ 

이걸 어디다가 응용하냐구요?? 
많쵸... 예를 들어.. 카운터.. 
정확하게 오늘 온사람의 수를 구해야 할때.. 

또는 정확하게 오늘 가입한사람.. 등등등.. 
이렇게 이용하시면 됩니다.. 쉽죠??? 헤헤.. ^^ 


마지막으로 microtime 

이건뭐냐.. 하면 타임스탬프값을 마이크로초로 만드는겁니다.. 
마이크로초가 왜 필요하냐구요?? 

사실 별 쓸모없죠.. 

근데 간혹.. 쿼리 시간재볼때.. 이걸 사용한답니다.. 

쿼리 또는 소스 읽는 시간은 초단위로 재면.. 거의 99% 0초로 나옵니다. 
1초안에 모든게 끝나기 때문에..^^ 

그럴때 마이크로초로 구하는거죠.. 

소스의 가장첫부분에.. 

$start = microtime(); 

이라고 시작시간을 잽니다.. 

그리고 소스가 끝나는 부분에 

$end = microtime() - $start; 

라고 하면.. 소스가 실행되는동안의 마이크로초를 구할수 있겠죠? ^^ 
이렇게 사용하는거랍니다. 


그외에도.. 몇가지 시간함수가 더 있는데.. 
사실 저도 잘 모르고.. 이 4개만 잘 알아도.. 충분하다고 확신합니다..^^




로그인 후 댓글쓰기가 가능합니다.

?
  • ?
    Dorai Zune 2009.08.06 18:15

    야 늬가 뭔데 우리 티파니를 욕하고 ㅈㄹ인데 늬가 뭔데 이제 지우니까 내가 더 욕은 안하겠는데 티파니보다 늬가 백배로 더 못생겼고개념없거든

  • ?
    eRkfEhd 2009.08.06 18:21
    뭥밍? 저 댓글은?

List of Articles
번호 분류 제목 날짜 조회 수
2344 종교와철학 "박근혜 '애' 낳는 그림 그린 홍씨, 누군가 자신의 어머니를 저런식으로 그렸다면? file 2012.11.19 6344
2343 AutoHotKey #ifwinactive & #ifwinexist 윈도우창 마다 핫키의 용도를 다르게 사용하는 방법 2011.02.14 16518
2342 만들기 <!--f644fe64217d47f8abef1fe9b7150c48--> secret 2010.10.29 3929
2341 Excel 'C:Documents.xlsx' 을(를) 찾을 수 없습니다. 라는 오류 메시지가 나오는 경우 대처방법 2015.01.28 4765
2340 유용한상식 '작업의 정석' 과외받는 남자들 12 2013.03.04 7133
2339 WindowsTip (nPDF) 프린터 인쇄 내용을 PDF 파일로 변환하기 2015.01.24 2271
2338 재미재미 (쇼킹한 음료광고)Thailand funny slimming greentea commercial 1 2 2012.08.25 5530
2337 일상 (펌)개성공단에서 4월 13일 나온 근무자입니다 2013.04.17 20444
2336 유용한상식 (해외송금)SWIFT 국민은행 송금 및 은행별 SWIFT CODE LIST 2014.02.03 17062
2335 재미재미 * 바람피운 남편을 어떻게...* 2010.12.19 5309
Board Pagination Prev 1 2 3 4 5 ... 235 Next
/ 235

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소