상세 컨텐츠

본문 제목

[php] 날짜 계산 date,strtotime 자료형

php

by 2hansoul 2022. 10. 18. 22:06

본문

반응형

날짜 계산하기 

$date1=date('Y-m-d H:i:s',strtotime($now_date."-1 month"));
$date2=date('Y-m-d H:i:s',strtotime($now_date."-3 month"));
$date3=date('Y-m-d H:i:s',strtotime($now_date."-90 day"));   
$date4=date('Y-m-d H:i:s',strtotime($now_date."-1 year"));    
$date5=date('Y-m-d H:i:s',strtotime($now_date."+3 day"));   


echo "timestamp자료형 : ".gettype(strtotime($now_date."+3 day"))."<br>";
echo "date자료형 : ".gettype($date1)."<br>";

 

timestamp자료형 : integer
date자료형 : string
현재시간 : 2022-10-18 07:36:24
현재시간 -1달 : 2022-09-18 07:36:24
현재시간 -3달 : 2022-07-18 07:36:24
현재시간 -90일 : 2022-07-20 07:36:24
현재시간 +1년 : 2021-10-18 07:36:24
현재시간 +3일 : 2022-10-21 07:36:24

 

자료형을 알아본 이유는?

date은 자료형은 string이다 timestemp은 int형 이다 

2022-07-20 07:36:24 - 2021-10-18 07:36:24 마이너스 한 해당 값을 알아보려면

date은 string이기 때문에 계산이 되지않는다 

해당 계산을 진행 하려면 int형으로 변경 해야 계산이 가능하다 은근히 유용하게 쓰이는 것 같다

 

date 원하는 대로 변경 

$date6=date('Y',strtotime($now_date."-1 month"));
$date7=date('Ymd000000',strtotime($now_date."-3 month"));
Y-m-d H:i:s 형식으로 뽑지않고 원하는 대로 변경하여 출력이 가능하다
 

date6 변경 : 202

date7 변경  : 20220718000000

 

date6은 특정 년 만 출력 할때 유용하게 쓰인다

 

date7은 sql에서 특정 범위에서 데이터를 가져오려고 할때 사용 하였다

SELECT * TABLE

where   reg_date >= "20220703000000" AND reg_date <= "20220718000000"

위 date1 처럼 하게 되면 시간대가 걸리기 때문에 특정 기간 동안 데이터를 뽑을수 없기 대문에

date7처럼 변경 하여 7/03~07/18 일 까지 00시00분00초에 정확한 데이터를 뽑을 수 있다 

 

 

자주사용하는 date() 함수 인자값

Y - 연도 4자리 ex) 2020

y - 연도 마지막 2자리 ex) 20

 

m - 0을 포함한 월 ex) 01~12

n - 0을 포함하지 않는 월 ex) 1~12

F - 달력의 영어표현 ex) September

M - 달력의 영어표현의 단축 ex) Sep

 

d - 0을 포함한 일자 ex) 01~31

j - 0을 포함하지 않는 일자 ex) 1~31

l - 해당 요일의 영어 표기 ex) Sunday

D - 해당요일의 단축 영어 표기 ex) Sun

 

시간

A - AM, PM 대문자 표기 ex) Y-m-d A H:i:s = 2020-09-20 PM 12:00:00

a - am, pm 소문자 표기 ex) Y-m-d a H:i:s = 2020-09-20 pm 12:00:00

 

H - 0을 포함한 24시간 ex) 00~23

h - 0을 포함한 12시간 ex) 01~12

G - 0을 제외한 24시간 ex) 0~23

g - 0을 제외한 12시간 ex) 1~12

 

i - 0을 포함한 분 ex) 00~59

s - 0을 포함한 초 ex) 00~59

반응형

관련글 더보기

댓글 영역