DATETIME.__CONSTRUCT(3) 1 DATETIME.__CONSTRUCT(3)
DateTime::__construct - Returns new DateTime object
Object oriented style
SYNOPSIS
public DateTime::__construct NULL ([string $time = "now"], [DateTimeZone $timezone])
DESCRIPTION
Procedural style
DateTime date_create NULL ([string $time = "now"], [DateTimeZone $timezone])
Returns new DateTime object.
PARAMETERS
o $time
-A date/time string. Valid formats are explained in Date and Time Formats. Enter NULL here to obtain the current time when using
the $timezone parameter.
o $timezone
- A DateTimeZone object representing the timezone of $time. If $timezone is omitted, the current timezone will be used.
Note
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).
RETURN VALUES
Returns a new DateTime instance. Procedural style returns FALSE on failure.
ERRORS
/EXCEPTIONS
Emits Exception in case of an error.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.3.0 | |
| | |
| | If $time contains an invalid date/time format, |
| | then an exception is now thrown. Previously an |
| | error was emitted. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
DateTime.__construct(3) example
Object oriented style
<?php
try {
$date = new DateTime('2000-01-01');
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
echo $date->format('Y-m-d');
?>
Procedural style
<?php
$date = date_create('2000-01-01');
if (!$date) {
$e = date_get_last_errors();
foreach ($e['errors'] as $error) {
echo "$error
";
}
exit(1);
}
echo date_format($date, 'Y-m-d');
?>
The above examples will output:
2000-01-01
Example #2
Intricacies of DateTime.__construct(3)
<?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') . "
";
// 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') . "
";
// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "
";
// 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') . "
";
// 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') . "
";
// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "
";
?>
The above example will output something similar to:
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
SEE ALSO
DateTime.createFromFormat(3), DateTimeZone.__construct(3), Date and Time Formats, date.timezone ini setting, date_default_time-
zone_set(3), DateTime.getLastErrors(3), checkdate(3).
PHP Documentation Group DATETIME.__CONSTRUCT(3)