$today = new DateTime;
echo $today->format('Y-m-d H:i:s'); // today's date and time
The above example will display today's date and time in Year-month-date Hour:minutes:second
format. Here is the output
2025-07-20 11:58:02
If you are getting warning message saying not to rely on system time zone , then add this line to the top.
date_default_timezone_set('America/Chicago');
$today = new DateTime;
echo $today->format('Y-m-d H:i:s');
Let us try differently
date_default_timezone_set('America/Chicago');
$date = new DateTime("now");
echo $date->format('d-m-y H:i:s');
echo "<br><br>";
$date = new DateTime("tomorrow");
echo $date->format('d-m-y H:i:s');
Out put is here 20-07-25 11:58:02
21-07-25 00:00:00
Another way ( object oriented style ) date_default_timezone_set('America/Chicago');
$date = new DateTime('2012-04-15 22:15:40');
echo $date->format('Y-m-d H:i:s') ;
Output is here 2012-04-15 22:15:40
Procedural style$date = date_create('2018-11-29 23:15:40');
echo date_format($date, 'Y/m/d H:i:s');
2018/11/29 23:15:40
$date = new DateTime('2019-01-01 16:55:58', new DateTimeZone('America/Chicago'));
echo $date->format('Y-m-d H:i:sP'); // Output is 2019-01-01 16:55:58-06:00
echo date(DateTime::ISO8601);
echo "<br>";
$dt_object = new DateTime('NOW');
echo $dt_object->format('c');
echo "<br>";
echo $dt_object->format(DateTime::ISO8601);
Output is here
2025-07-20T11:58:02-0500
2025-07-20T11:58:02-05:00
2025-07-20T11:58:02-0500
Code | Output |
---|---|
$d = new DateTime('now'); echo $d->format('Y-m-d') ; | 2025-07-20 |
$d = new DateTime('19 July 2018'); echo $d->format('Y-m-d') ; | 2018-07-19 |
$d = new DateTime('Tomorrow'); echo $d->format('Y-m-d') ; | 2025-07-21 |
$d = new DateTime('Yesterday'); echo $d->format('Y-m-d') ; | 2025-07-19 |
$d = new DateTime('+1 day'); echo $d->format('Y-m-d') ; | 2025-07-21 |
$d = new DateTime('+1 week'); echo $d->format('Y-m-d') ; | 2025-07-27 |
$d = new DateTime('+1 week 5 days'); echo $d->format('Y-m-d') ; | 2025-08-01 |
$d = new DateTime('+1 month'); echo $d->format('Y-m-d') ; | 2025-08-20 |
$d = new DateTime('+1 month 10 days'); echo $d->format('Y-m-d') ; | 2025-08-30 |
$d = new DateTime('+3 months -1 day'); echo $d->format('Y-m-d') ; | 2025-10-19 |
$d = new DateTime('+3 years'); echo $d->format('Y-m-d') ; | 2028-07-20 |
$d = new DateTime('+1 year 5 days'); echo $d->format('Y-m-d') ; | 2026-07-25 |
$d = new DateTime('Monday'); echo $d->format('Y-m-d') ; | 2025-07-21 |
$d = new DateTime('Monday +1 day '); echo $d->format('Y-m-d') ; | 2025-07-22 |
$d = new DateTime('first day of this month'); echo $d->format('Y-m-d') ; | 2025-07-01 |
$d = new DateTime('last day of this month'); echo $d->format('Y-m-d') ; | 2025-07-31 |
$d = new DateTime('first day of previous month'); echo $d->format('Y-m-d') ; | 2025-06-01 |
$d = new DateTime('last day of previous month'); echo $d->format('Y-m-d') ; | 2025-06-30 |
$d = new DateTime('first day of next month'); echo $d->format('Y-m-d') ; | 2025-08-01 |
$d = new DateTime('last day of next month'); echo $d->format('Y-m-d') ; | 2025-08-31 |
$d = new DateTime('last day of next month +1 hour'); echo $d->format('Y-m-d : H:i:s') ; | 2025-08-31 : 12:58:02 |
$d = new DateTime('Monday +1 hour +20 minutes +10 seconds'); echo $d->format('Y-m-d : H:i:s') ; | 2025-07-21 : 01:20:10 |
$d = DateTime::createFromFormat('d-m-Y', '11-06-2018'); $d = $d->modify('next monday'); echo $d->format('Y-m-d') ; | 2018-06-18 |
echo date('m-d-Y',strtotime('24-06-2018 next Monday ')); | 06-25-2018 |