본문 바로가기

프로그래밍언어/php

PHP 날짜 함수 // date(), strtotime(), mktime()

1. date 함수


string date( string $format[,int $timestamp] )




주어지는 timestamp나, timestamp가 주어지지

않았을 경우에는 현재 로컬 시간을 사용하여, 

주어진 포맷 문자열에 따라 형식화한 문자열을 반환.

즉 timestamp는 선택적이고, 

기본값은 time()의 값. 

지원되지 않는 포맷 문자는 그대로 출력




    $datestring = date ("Y-m-d", time());
     echo $datestring;

    결과)  2017-12-27  //(현재날짜)



2. strtotime함수


int strtotime( string $time[,int $now=time()] )


주어진 날짜가 형식의 문자열을 

1970년 1월 1일 0시 부터 시작하는

 유닉스 타임스탬프로 변환.

두번째 인자가 주어지면

주어진 타임스탬프를 기준으로 계산.

날짜가 주어지지 않고 변화량만 주어지면

로컬 타임이 적용. ex) +1 day, +1week ,음수 등





$timestamp = strtotime("+1 week"); echo date("Y-m-d", $timestamp),;
$timestamp = strtotime("2017-12-20 +1 week"); 
echo date("Y-m-d", $timestamp);

결과)
2017-01-03  //현재날짜 + 7일
2017-12-27  //정한 날짜 + 7일




3. 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 = mktime(0, 0, 0, 1, 1, 2017);
 echo date('Y-m-d', $timestamp);

결과) 2018-01-01