DateTime::__construct

date_create

(PHP 5 >= 5.2.0, PHP 7)

DateTime::__construct -- date_createReturns new DateTime object

Descrierea

Stil obiect-orientat

public DateTime::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Stil procedural

date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] ) : DateTime

Returns new DateTime object.

Parametri

time

Un șir dată/oră. Formatele valide sunt explicate în Formatele datelor și orelor.

Enter "now" here to obtain the current time when using the $timezone parameter.

timezone

A DateTimeZone object representing the timezone of $time.

If $timezone is omitted, the current timezone will be used.

Notă:

The $timezone parameter and the current timezone are ignored when the $time parameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).

Valorile întoarse

Returns a new DateTime instance. Stil procedural întoarce FALSE în caz de eșec.

Erori/Excepții

Emits Exception in case of an error.

Istoricul schimbărilor

Versiune Descriere
7.1 From now on microseconds are filled with actual value. Not with '00000'.
5.3.0 If time contains an invalid date/time format, then an exception is now thrown. Previously an error was emitted.

Exemple

Example #1 DateTime::__construct() example

Stil obiect-orientat

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

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

Stil procedural

<?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');
?>

Exemplele de mai sus vor afișa:

2000-01-01

Example #2 Intricacies of 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";
?>

Exemplul de mai sus va afișa ceva similar cu:

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

A se vedea și