나는 현재 날짜로부터 6 개월 만에 달을 얻으려고합니다. 내가 사용하려고했습니다PHP에서 6 개월 추가
:
date('d', strtotime('+6 month', time()));
그러나이 작동하지 않는 것은 항상 01
반환합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
감사합니다.
나는 현재 날짜로부터 6 개월 만에 달을 얻으려고합니다. 내가 사용하려고했습니다PHP에서 6 개월 추가
:
date('d', strtotime('+6 month', time()));
그러나이 작동하지 않는 것은 항상 01
반환합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
감사합니다.
내가 사용하는 것이 훨씬 쉽게 DateTime 작업 찾기 :
$datetime = new DateTime();
$datetime->modify('+6 months');
echo $datetime->format('d');
또는
$datetime = new DateTime();
$datetime->add(new DateInterval('P6M'));
echo $datetime->format('d');
또는
PHP 버전 5.4+echo (new DateTime())->add(new DateInterval('P6M'))->format('d');
완벽한 작품, 고마워요! – dzm
여전히 한 strtotime를 사용하고자하는 경우와 DateTime() 객체와 달리 date 함수는 다음과 같이 작동합니다.
date('d', strtotime('+6 months'));
기본값이기 때문에 time()
을 strtotime에 전달할 필요가 없습니다.
그 외에도 접근 방법은 정확합니다. 단, date('d')
(당일 치기)은 date('m')
이 아니므로 echo date('m', strtotime('+6 month'));
을 사용해야합니다.
그럼에도 불구하고 John이 설명한 DateTime
방법을 사용하는 것이 좋습니다. DateTime
은 "오래된"날짜 기능보다 몇 가지 장점이 있습니다. 예를 들어, UNIX 빅뱅이 32 비트 정수에 더 이상 적합하지 않기 때문에 초가 작동을 멈추지 않습니다.
당신은 DateInterval
클래스와 관련하여 DateTime
클래스를 사용할 수 있습니다 :
<?php
$date = new DateTime();
$date->add(new DateInterval('P6M'));
echo $date->format('d M Y');
당신은 simpleDate 클래스를 사용할 수 있습니다
include('../code/simpleDate.php');
$date = new simpleDate();
echo $date->now()->addMonth(6)->get();
은 (여담 ', strtotime으로 같이 tutorials here.
확인)'두 번째 매개 변수를 생략하면 기본적으로 현재 시간이 사용됩니다. 또한,'strtotime()'은 절대 시간이 아니기 때문에 달을 계산하지 않을 것이라고 생각합니다. 일 수는 월 단위로 다릅니다. –