DateTime::__construct

date_create

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::__construct -- date_create — 새 DateTime 객체를 반환합니다.


설명

객체 지향 스타일

public DateTime::__construct(string $datetime = "now", ?DateTimeZone $timezone = null)

절차적 스타일

date_create(string $datetime = "now", ?DateTimeZone $timezone = null): DateTime|false

새 DateTime 객체를 반환합니다.


매개변수

datetime
날짜/시간 문자열입니다. 유효한 형식은 날짜 및 시간 형식에 설명되어 있습니다.

$timezone 매개변수를 사용할 때 현재 시간을 얻으려면 여기에 "now"을 입력하십시오.

timezone
$datetime의 시간대를 나타내는 DateTimeZone 객체.

$timezone이 생략되거나 null이면 현재 시간대가 사용됩니다.

메모: $timezone 매개변수와 현재 시간대는 $datetime 매개변수가 UNIX 타임스탬프(예: @946684800)이거나 시간대를 지정하는 경우(예: 2010-01-28T15:00:00+02:00) 무시됩니다.


반환 값

new DateTime 인스턴스를 반환합니다. 절차 스타일은 실패 시 false를 반환합니다.


오류/예외

오류가 발생한 경우 예외를 내보냅니다.


변경 로그

버전 설명
7.1.0 이제부터 마이크로초가 실제 값으로 채워집니다. '00000'이 아닙니다.

Examples

예제 #1 DateTime::__construct() 예제

객체 지향 스타일

                  
<?php
try {
    $date = new DateTime('2000-01-01');
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
?>
                  
                

절차적 스타일

                  
<?php
$date = date_create('2000-01-01');
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, 'Y-m-d');
?>
                  
                

위의 예는 다음을 출력합니다.

2000-01-01
                

예제 #2 DateTime::__construct()의 복잡성

                  
<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Specified date/time in the specified time zone.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in the specified time zone.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Using a UNIX timestamp.  Notice the result is in the UTC time zone.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00
                

기타