본문 바로가기

PHP/PHP 기본문법을 배워보자

날짜, 시간 표시하기

반응형

현재시간 가져오기

1. UNIX 타임스태프 표시하기

-time 함수를 실행하면 UNIX의 타임스탬프(초)를 가져올 수 있다.

$변수 = time();
<?php
	$now = time();		//time 함수 실행.
    				// $now에 UNIX 타임스탬프가 할당됨.
    	print $now;		//print 문으로 결과출력
 ?>

 

UNIX 타임스탬프는 1970년 1월 1일부터 누적된 시간(초)를 말한다.

time 함수는 1970년 1월1일부터 현재 함수를 실행한 시점까지 초로 환산한 값을 가져올 수 있다.

$now 의 결과표시

2. 날짜에서 UNIX 타임스탬프 가져오기

-날짜(문자열)에서 UNIX 타임스탬프를 구하려면 mktime 함수를 사용한다. 인수로 시간, 분을 나누어 지정하고 결과를 변수로 받을 수 있다.

$변수 = mktime(시간, 분, 초, 월, 일, 년);
<?php
	$timestamp = mktime(0,0,0,5,7,2014);	// 날짜를 나누어 지정한다.
    						// 결과를 $timestamp로 넣는다.
    	print $timestamp;			// 결과표시
 ?>

 

$timestamp에 대한 결과

3. UNIX 타임스탬프를 날짜로 가져오기

-date 함수를 사용하면 UNIX 타임스탬프를 날짜로 받을 수 있다. time 함수나 mktime함수 등과 함께 사용하면 며칠 후나 며칠 전의 날짜를 가져올 수 있다. 

$변수 = date(날짜포맷, UNIX 타임스탬프);
<?php
/*
1. time 함수로 가져온 타임스탬프에
2. 일주일 분의 초를 더한다.[(60 * 60 * 24) * 7]
3. 일주일 후의 타임스탬프를 작성한다.
4. date 함수에 날짜 포맷용 기호와 timestamp를 지정하고 실행한다.
5. $next_week에서 일주일 후의 날짜를 가져온다.
*/
    $timestamp = time() + (60 * 60 * 24) * 7;
    $next_week = date('Y년m월d일 H시i분s초', $timestamp);
    print $next_week;
?>

$next_week 결과

기호 내용
Y 네 자리 연도
m 두 자리 월(앞에 0이 붙음)
D 두 자리 일(앞에 0이 붙음)
H 두 자리 시(24시간 형식)
i 두 자리 분(앞에 0이 붙음)
s 두 자리 초(앞에 0이 붙음)

[표] 예제에서 사용한 날짜 포맷용 기호


날짜 검사

1. 날짜의 타당성 검사하기

2월31일과 같은 존재하지 않는 날짜를 넣었을 때. checkdate 함수를 사용해 월, 일, 연을 인수로 지정하여 날짜의 타당성을 검사할 수 있다. 날짜가 올바른 경우 true, 올바르지 않으면 false를 돌려준다. 

$변수 = checkdate(월, 일, 년);
<?php
    $month = 2;
    $day = 31;
    $year = 2021;
    
    if(!checkdate($month, $day, $year)){
        print "올바른 날짜를 입력하시오'";
    }
 ?>

checkdate 결과

위의 예제에서는 결과를 변수에 넣지 않고 직접 if 문에서 판단하였다. 날짜가 올바르지 않아서 false가 되어야 하지만 !가 붙어있어서 true가 되어서 올바른 날짜를 입력하라고 표시되었다.

반응형

'PHP > PHP 기본문법을 배워보자' 카테고리의 다른 글

소수점 제거하는 php 함수들  (0) 2021.05.18
PHP는 어떤 언어인가?  (0) 2021.05.09