date

(PHP 4, PHP 5, PHP 7, PHP 8)

date — 현지 시간/날짜 형식 지정


설명

date(string $format, ?int $timestamp = null): string

지정된 정수 timestamp를 사용하여 지정된 형식 문자열에 따라 형식이 지정된 문자열을 반환하거나 timestamp가 지정되지 않은 경우 현재 시간을 반환합니다. 즉, timestamp는 선택 사항이며 기본값은 time()입니다.


매개변수

format
DateTimeInterface::format()에서 허용하는 형식입니다.
timestamp
선택적 timestamp 매개변수는 timestamp가 생략되거나 null인 경우 현재 현지 시간으로 기본 설정되는 int Unix 타임스탬프입니다. 즉, 기본값은 time() 값입니다.

반환 값

형식이 지정된 날짜 문자열을 반환합니다. timestamp에 숫자가 아닌 값이 사용되면 false가 반환되고 E_WARNING 수준 오류가 발생합니다.


오류/예외

날짜/시간 함수에 대한 모든 호출은 시간대가 유효하지 않은 경우 E_WARNING을 생성합니다. date_default_timezone_set()도 참조하십시오.


변경 로그

버전 설명
8.0.0 timestamp는 이제 nullable입니다.

Examples

예제 #1 date() 예제

                  
<?php
// set the default timezone to use.
date_default_timezone_set('UTC');


// Prints something like: Monday
echo date("l");

// Prints something like: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* use the constants in the format parameter */
// prints something like: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);

// prints something like: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>
                  
                

이전 백슬래시로 이스케이프 처리하여 형식 문자열에서 인식된 문자가 확장되는 것을 방지할 수 있습니다. 백슬래시가 있는 문자가 이미 특수 시퀀스인 경우 백슬래시도 이스케이프해야 할 수 있습니다.

예제 #2 date()의 이스케이프 문자

                  
<?php
// prints something like: Wednesday the 15th
echo date('l \t\h\e jS');
?>
                  
                

date()mktime()을 함께 사용하여 미래 또는 과거 날짜를 찾을 수 있습니다.

예제 #3 date()mktime() 예제

                  
<?php
$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
?>
                  
                

메모: 이것은 일광 절약 시간제 때문에 타임스탬프에 일 또는 월의 초 수를 단순히 더하거나 빼는 것보다 더 안정적일 수 있습니다.

date() 형식의 몇 가지 예. 현재 특별한 의미가 있는 다른 문자는 바람직하지 않은 결과를 생성하고 향후 PHP 버전에서 다른 문자에 의미가 할당될 수 있으므로 다른 문자는 이스케이프 처리해야 합니다. 이스케이프할 때 \n과 같은 문자가 개행 문자가 되지 않도록 작은따옴표를 사용하십시오.

예제 #4 date() 형식화

                  
<?php
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)
?>
                  
                

다른 언어로 날짜 형식을 지정하려면 date() 대신 IntlDateFormatter::format()을 사용할 수 있습니다.


메모

메모: 날짜의 문자열 표현에서 타임스탬프를 생성하려면 strtotime()을 사용할 수 있습니다. 또한 일부 데이터베이스에는 날짜 형식을 타임스탬프로 변환하는 함수가 있습니다(예: MySQL의 » UNIX_TIMESTAMP 함수).

요청 시작의 타임스탬프는 $_SERVER['REQUEST_TIME']에서 확인할 수 있습니다.


기타