>백엔드 개발 >PHP 튜토리얼 >PHP DateTime의 일반적인 방법에 대한 자세한 설명

PHP DateTime의 일반적인 방법에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-06 10:54:531724검색

이 글은 누구나 쉽게 찾고 읽을 수 있도록 DateTime 객체가 사용하는 몇 가지 메소드를 정리했습니다.

머리말

인스턴스화된 객체 앞에 있는 단어는 네임스페이스에서 네이티브 클래스가 사용됨을 나타냅니다. 네임스페이스가 사용되지 않으면 이전 클래스를 삭제할 수 있습니다

1. 현재 시간

$datetime = new \DateTime;
print_r($datetime->format('Y-m-d H:i:s'));

2. 주어진 시간을 출력

$datetime = new \DateTime('2016-06-13');
print_r($datetime);

3. 주어진 시간에 맞춰 원하는 시간으로 포맷

$datetime = \DateTime::createFromFormat('Ymd', '20160618');
print_r($datetime->format('Y-m-d'));

4. 형식(1990년 이전이면 방법 1은 음수를 반환하고 방법 2는 false를 반환합니다.)

//方法1(php5.2):
$datetime = new \DateTime();
echo $datetime->format('U');exit;

//方法2(php5.3)推荐
$datetime = new \DateTime();
echo $datetime->getTimestamp();exit;

5 주어진 타임스탬프를 주어진 시간으로 포맷합니다.

$datetime = new \DateTime();
$datetime->setTimestamp(1465783744);
echo $datetime->format('Y-m-d H:i:s');

6. 날짜와 시간, 연도별 비교, 월별 비교...

$datetime1 = new \DateTime('2016-01-01 10:11:18');
$datetime2 = new \DateTime('2017-05-11 22:21:21');
$interval = $datetime1->diff($datetime2);
print_r($interval->format('%Y'));//%表示使用格式化,R表示是大于这个日期(+),还是小于这个日期(-),a表示大于或小于多少天,时分秒正常使用y,m,d,h,i,s

7. 며칠 전 길이의 DateInterval 구조를 만듭니다 함수의 매개변수

문자열입니다. 시간 간격 계약을 나타냅니다. 이 시간 간격 계약은 문자 P로 시작하고 그 뒤에 정수가 오고 마지막으로 이전 정수를 제한하는 기간 식별자가 옵니다. 유효한 기간 식별자는 다음과 같습니다. Y(연도) M(월) D(일) W(주) H(시) M(분) S(초) 간격 규칙에는 시간이 필요한 경우 시간과 날짜가 모두 포함될 수 있습니다. 예를 들어, 간격 규칙 P2D는 2일 간격을 의미하고, 간격 규칙 P2DT5H2M은 2일 5시간 2분 간격을 의미합니다.

$datetime = new \DateTime();
$interval = new \DateInterval('P2DT5H');
//或者使用createFromDateString方法
//$interval = \DateInterval::createFromDateString('1 month');
//修改DateTime实例
$datetime->add($interval);
echo $datetime->format('Y-m-d H:i:s');

8. 며칠 전에 시간을 만듭니다.

$datetime = new \DateTime();
$interval = new \DateInterval('P2DT5H');
$datetime->sub($interval);
echo $datetime->format('Y-m-d H:i:s');
//ps:有个modify方法,这个方法是减去30,并不是像前推1天,输出的还是12月
$datetime = new \DateTime('2014/12/31');
$datetime->modify( '-1 month' );
print_r($datetime);exit;

9. 현재 DateTime 개체를 연, 월, 일을 지나서 다른 날짜로 재설정합니다.

$datetime = new \DateTime();
$datetime->setDate(2015, 2, 28);
echo $datetime->format('Y-m-d');exit;

10. 현재 DateTime 객체의 시간을 시, 분, 초를 전달하는 다른 시간으로 변경합니다(선택적 매개변수)

$datetime = new \DateTime();
$datetime->setTime(20, 20, 24);
echo $datetime->format('Y-m-d H:i:s');exit;

11. 시간 형식을 지정하기 전에 시간대를 변경합니다.

$timezone = new \DateTimeZone('Asia/Calcutta');
$datetime = new \DateTime();
$datetime->setTimezone($timezone);
print_r($datetime->format('Y-m-d H:i:s'));exit;

12. 시간대

$date = new \DateTime(null, new DateTimeZone('Asia/Shanghai'));
$tz = $date->getTimezone();
echo $tz->getName();

13. 두 시간대의 오프셋 값을 계산합니다.

$dateTimeZoneTaipei = new \DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new \DateTimeZone("Asia/Tokyo");
$dateTimeTaipei = new \DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new \DateTime("now", $dateTimeZoneJapan);
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);
print_r($timeOffset);exit;

14. 시간 간격을 반환합니다. 얼마나 오래 걸리는지

$interval = new \DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');

15. 현재 날짜부터 날짜까지의 일수입니다.

DatePeriod 클래스의 constructor

은 세 개의 매개변수를 허용하며 반복이 시작되는 날짜와 시간을 나타내는 DateTime 인스턴스, 다음 날짜와 시간 사이의 간격을 나타내는 DateInterval 인스턴스, 합계를 나타내는 정수를 제공해야 합니다. 네 번째 매개변수는 선택사항이며 기간의 종료 날짜와 시간을 명시적으로 지정하는 데 사용됩니다. 반복 시 시작 날짜와 시간을 제외하려면 생성자의 마지막 매개변수를

상수로 설정하면 됩니다. : 아아아아

위 내용은 PHP DateTime의 일반적인 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.