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']에서 확인할 수 있습니다.
기타
- gmdate() - GMT/UTC 날짜/시간 형식 지정
- idate() - 현지 시간/날짜를 정수로 포맷
- getdate() - 날짜/시간 정보 얻기
- getlastmod() - 마지막 페이지 수정 시간 가져오기
- mktime() - 날짜에 대한 Unix 타임스탬프 가져오기
- IntlDateFormatter::format() - 날짜/시간 값을 문자열로 형식화
- time() - 현재 Unix 타임스탬프 반환
- DateTimeImmutable::__construct() - 새로운 DateTimeImmutable 객체를 반환합니다.
- Predefined DateTime Constants