The DateTime object is defined in PHP versions 5.2 and greater. Full documentation can be found at php.net/datetime .
PHP's print_r() , Devel module 's dpm() , and similar functions and most debuggers are not able to show the properties of DateTime objects. The date_format() function provides a good alternate method to debug DateTime objects. An example of its usage follows, including some common DateTime manipulation functions;
<?php
// Create a DateTime object for 11 November 2008, 5pm, Chicago time.
$date
=
date_create
(
'2008-11-11 17:00:00'
,
timezone_open
(
'America/Chicago'
));
// Find out what time it is in New York.
date_timezone_set
(
$date
,
timezone_open
(
'America/New_York'
));
// Now move it ahead to the following Tuesday.
date_modify
(
$date
,
'+1 Tuesday'
);
// Print out the result.
print
date_format
(
$date
,
'l r'
);
// "Tuesday Tue, 18 Nov 2008 18:00:00 -0500"
?>
The Date API provides a helper function, date_make_date($string, $timezone, $type) , where $string is a unixtimestamp, an ISO date, or a string like YYYY-MM-DD HH:MM:SS, $timezone is the name of the timezone this date is in, and $type is the type of date it is (DATE_UNIX, DATE_ISO, or DATE_DATETIME). It creates and return a date object set to the right date and timezone.