Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP date() 함수 완벽 가이드 – 날짜·시간 포맷 형식 문자 총정리

PHP의 date() 함수는 로컬 시간과 날짜를 원하는 형식으로 포맷팅하는 데 사용되는 대표적인 내장 함수입니다. 이 함수는 지정된 형식(format) 문자열에 따라 결과를 문자열로 반환하며, 타임스탬프가 함께 주어지면 해당 시점을 기준으로 하고, 주어지지 않으면 현재 시간을 기준으로 처리합니다.

문법(Syntax)

date(format, timestamp)

매개변수(Parameters)

  • timestamp − 정수형 Unix 타임스탬프입니다. 값을 지정하지 않으면 기본적으로 현재 로컬 시간이 사용됩니다.

  • format − 결과를 어떤 형식으로 반환할지 결정하는 형식 문자열입니다.

    날짜 관련 형식 문자

    • d − 월의 일자, 두 자리 (01~31)

    • D − 요일의 축약 텍스트 표현 (세 글자)

    • j − 선행 0 없이 월의 일자 (1~31)

    • l(소문자 'L') − 요일의 전체 텍스트 표현

    • N − 요일의 ISO-8601 숫자 표현 (월요일 = 1, 일요일 = 7)

    • S − 일자의 영어 서수 접미사, 두 글자 (st, nd, rd, th — j와 함께 사용하기 좋음)

    • w − 요일의 숫자 표현 (일요일 = 0, 토요일 = 6)

    • z − 연중 몇 번째 날인지 (0~365)

    • W − ISO-8601 기준 연중 주차 (주는 월요일부터 시작)

    • F − 월의 전체 텍스트 표현 (January~December)

    • m − 월의 두 자리 숫자 표현 (01~12)

    • M − 월의 축약 텍스트 표현 (세 글자)

    • n − 선행 0 없이 월의 숫자 표현 (1~12)

    • t − 해당 월의 총 일수

    • L − 윤년 여부 (윤년이면 1, 아니면 0)

    • o − ISO-8601 연도 번호

    • Y − 네 자리 연도 표현

    • y − 두 자리 연도 표현

    시간 관련 형식 문자

    • a − 소문자 am 또는 pm

    • A − 대문자 AM 또는 PM

    • B − Swatch 인터넷 시간 (000~999)

    • g − 12시간 형식의 시간, 선행 0 없음 (1~12)

    • G − 24시간 형식의 시간, 선행 0 없음 (0~23)

    • h − 12시간 형식의 시간, 두 자리 (01~12)

    • H − 24시간 형식의 시간, 두 자리 (00~23)

    • i − 분, 두 자리 (00~59)

    • s − 초, 두 자리 (00~59)

    타임존 및 기타 형식 문자

    • e − 타임존 식별자 (예: UTC, Atlantic/Azores)

    • I(대문자 i) − 서머타임(Daylight Saving Time) 적용 여부 (적용 중이면 1, 아니면 0)

    • O − 그리니치 표준시(GMT)와의 시차, 시간 단위 (예: +0100)

    • T − PHP가 실행되는 서버의 타임존 설정 (예: EST, MDT)

    • Z − 초 단위 타임존 오프셋. UTC보다 서쪽은 음수, 동쪽은 양수 (-43200~43200)

    • c − ISO-8601 형식의 날짜 (예: 2004-02-12T15:19:21+00:00)

    • r − RFC 2822 형식의 날짜 (예: Thu, 21 Dec 2000 16:01:07 +0200)

    • U − Unix Epoch(1970년 1월 1일 00:00:00 GMT) 이후 경과한 초

반환 값(Return)

date() 함수는 지정된 형식 문자열에 따라 포맷된 날짜·시간 문자열을 반환합니다. 타임스탬프가 주어지면 해당 시점을, 주어지지 않으면 현재 시간을 기준으로 결과를 생성합니다.

사용 예제

다음은 date() 함수의 기본적인 사용 예입니다.

<?php
    date_default_timezone_set('UTC');
    echo date("l");
    echo "<br>";
    echo date('l dS \of F Y h:i:s A');
    echo "<br />";
?>

실행 결과

Thursday
Thursday 11th of October 2018 05:05:34 AM

추가 예제

미리 정의된 날짜 상수를 활용한 또 다른 예제를 살펴보겠습니다.

<?php
    echo date(DATE_RFC822) . "<br>";
    echo date(DATE_ATOM, mktime(0, 0, 0, 11, 7, 2017));
?>

실행 결과

Thu, 11 Oct 18 05:06:15 +0000
2017-11-07T00:00:00+00:00

이처럼 date() 함수는 하나의 함수만으로도 다양한 형식의 날짜와 시간을 손쉽게 출력할 수 있어, 게시판 작성일 표기, 로그 기록, 스케줄링 등 웹 개발 전반에서 폭넓게 활용됩니다.