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
    뭥밍? 저 댓글은?

  1. [php] 특수문자 -> 엔티티, 엔티티 -> 특수문자

  2. 한글프로그램 메뉴-모양-세로쓰기

  3. 사이트 디자인 무료 템플릿 공유

  4. 오토런 바이러스

  5. PHP로 그림에 글자 입히기

  6. php로 이미지를 mysql디비 저장하고 보여주는 소스

  7. php 이미지 저장 및 이미지크기를 줄여 저장기술 소스

  8. PHP로 FTP 접속 / 업로드 / 다운로드 등의 컨트롤 소스

  9. jQuery 강좌

  10. MYSQL 최적화

  11. 많은 DB 요청시 자동으로 막히는 현상 해제

  12. mysql 재시작, 사용자 추가 명령어

  13. bat(배치)파일 문법

  14. bat(배치)파일 문법

  15. mysqladmin

  16. 서버 해킹 당하다~

  17. MYSQL 미 해결 과제 : Can't connect to MySQL server on 'localhost'(10055)

  18. bat(배치) 파일 제대로 쓰기

  19. Ghost용 배치 파일 작성 예

  20. Windows 초간단 remote 백업 명령

Board Pagination Prev 1 2 3 4 5 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소