본문 바로가기

IT

PHP 날짜 관련 함수 date, strtotime

date() 함수

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

 

<?php
$date = date("Y-m-d", time());
echo $date;
?>

결과)
2023-03-13

 

시간 (시분초) 까지 출력하고 싶다면 아래와 같이 날짜 포맷을 "Y-m-d H:i:s" 으로 변경하면 됩니다.

 

<?php
$date = date("Y-m-d H:i:s", time());
echo $date;
?>

결과)
2023-03-13 14:25:00

 

 

strtotime() 함수

strtotime 함수는 문자열 형식으로 표현된 날짜와 시간을 실제 날짜와 시간 형식으로 변환을 해주는 함수입니다.

<?php
$timestamp = strtotime("+1 week");
echo date("Y-m-d", $timestamp), "<br/>";

$timestamp = strtotime("2023-01-01 +1 week");
echo date("Y-m-d", $timestamp), "<br/>";
?>

결과)
2023-03-20
2023-01-08
date("Y-m-d",strtotime ("+1500 minutes")); // 현재 날짜에서 1500분 추가

date("Y-m-d H:i:s", strtotime("-1 day")); // 어제

date("Y-m-d H:i:s", strtotime("now")); // 현재

date("Y-m-d H:i:s", strtotime("+1 day")); // 내일

date("Y-m-d H:i:s", strtotime("-1 week")); // 일주일 전

date("Y-m-d H:i:s", strtotime("+1 week")); // 일주일 후

date("Y-m-d H:i:s", strtotime("-1 month")); // 한달 전

date("Y-m-d H:i:s", strtotime("+1 month")); // 다음달

date("Y-m-d H:i:s", strtotime("+1 week 2 days 3 hours 4 seconds")); // 1주 2일 3시간 4초 후

date("Y-m-d H:i:s", strtotime("next Thursday")); // 다음주 목요일

date("Y-m-d H:i:s", strtotime("last Monday")); // 지난 월요일

date("Y-m-d H:i:s", strtotime("13 march 2023")); // 2023년 03월 13일

//날짜 입력시 사용가능 특수문자는 -와 없는 형태 두가지만 가능
date("Ymd",strtotime ("-1 days", strtotime('20230313'))); //특정날짜에서 하루 빼기

date("Ymd",strtotime ("+1 days", strtotime('2023-03-13')));//특정날짜에서 하루 더하기

 

포맷 문자열

 

d  :  일, 앞에 0이 붙는 2 숫자  [ 01에서 31 ]
D  :  요일 글자 표현, 3 문자 [ Mon에서 Sun ]
j  :  앞에 0이 붙지 않는 일 [ 1에서 31 ]
l  :  (소문자 'L') 요일의 완전한 글자 표현 [ Sunday에서 Saturday ]
N  :  요일의 ISO-8601 숫자 표현 (PHP 5.1.0에서 추가) [ 1(월요일)에서 7(일요일) ]
S  :  일 영어 접미사, 2 문자 [ st, nd, rd, th. j와 같이 사용하기 좋음. ]
w  :  요일 숫자 표현 [ 0(일요일)에서 6(토요일) ]
z  :  해당 연도 일차 [ (0에서 시작) 0에서 365 ]


주 

W  :  ISO-8601 주차, 주는 월요일에 시작 (PHP 4.1.0에서 추가) [ 예시: 42 (그 해의 42번째 주) ]


F  :  January나 March 같은 월의 완전한 글자 표현 [ January에서 December ]
m  :  0이 붙는 월 숫자 표현 [ 01에서 12 ]
M  :  월의 축약 글자 표현, 3 문자 [ Jan에서 Dec ]
n  :  0이 붙지 않는 월 숫자 표현 [ 1에서 12 ]
t  :  주어진 월의 일 수 [ 28에서 31 ]


L  :  윤년 여부 [ 윤년엔 1, 그 외엔 0 ]
o  :  ISO-8601 연도. Y와 같지만, ISO 주차(W)가 전해나 다음해에 해당하면, 그 연도를 사용합니다. (PHP 5.1.0에서 추가) [ 예시: 1999나 2003 ]
Y  :  연도의 완전한 숫자 표현, 4 숫자 [ 예시: 1999나 2003 ]
y  :  도의 두 숫자 표현 [ 예시: 99나 03 ]


시간

a  :  오전과 오후의 소문자 [ am 또는 pm ]
A  :  오전과 오후의 대문자 [ AM 또는 PM ]
B  :  스와치 인터넷 시간 [ 000에서 999 ]
g  :  0이 붙지 않는 12시간 형식 시 [ 1에서 12 ]
G  :  0이 붙지 않는 24시간 형식 시 [ 0에서 23 ]
h  :  0이 붙는 12시간 형식 시 [ 01에서 12 ]
H  :  0이 붙는 24시간 형식 시 [ 00에서 23 ]
i  :  0이 붙는 분 [ 00에서 59 ]
s  :  초, 0이 붙음 [ 00에서 59 ]
u  :  마이크로초 (PHP 5.2.2에서 추가) [ 예시: 54321 ]


시간대

e  :  시간대 식별자 (PHP 5.1.0에서 추가) [ 예시: UTC, GMT, Atlantic/Azores ]
I  :  (대문자 i) 일광 절약 시간 여부  [ 일광 절약 시간이면 1, 아니면 0 ]
O  :  그리니치 시간(GMT)과 시차 [ 예시: +0200 ]
P  :  시와 분 사이에 콜론이 들어가는 그리니치 시간(GMT)과 차이 [ 예시: +02:00 ]
T  :  시간대 축약어 [ 예시: EST, MDT ... ]
Z  :  시간대 오프셋 초. UTC 서쪽은 항상 음수, UTC 동쪽은 항상 양수 [ -43200에서 50400 ]


날짜/시간 표현

c  :  ISO 8601 날짜 (PHP 5에서 추가) [ 2004-02-12T15:19:21+00:00 ]
r  :  ≫ RFC 2822 형식 날짜 [ 예시: Thu, 21 Dec 2000 16:01:07 +0200 ]
U  :  유닉스 에포치(January 1 1970 00:00:00 GMT)부터 초수 [ time() 참조 ]

반응형
포스트 관련글