$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-02-08 04:36:35
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 08-02-25 04:36:35
09-02-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-02-08T04:36:35-0600
2025-02-08T04:36:35-06:00
2025-02-08T04:36:35-0600
Code | Output |
---|---|
$d = new DateTime('now'); echo $d->format('Y-m-d') ; | 2025-02-08 |
$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-02-09 |
$d = new DateTime('Yesterday'); echo $d->format('Y-m-d') ; | 2025-02-07 |
$d = new DateTime('+1 day'); echo $d->format('Y-m-d') ; | 2025-02-09 |
$d = new DateTime('+1 week'); echo $d->format('Y-m-d') ; | 2025-02-15 |
$d = new DateTime('+1 week 5 days'); echo $d->format('Y-m-d') ; | 2025-02-20 |
$d = new DateTime('+1 month'); echo $d->format('Y-m-d') ; | 2025-03-08 |
$d = new DateTime('+1 month 10 days'); echo $d->format('Y-m-d') ; | 2025-03-18 |
$d = new DateTime('+3 months -1 day'); echo $d->format('Y-m-d') ; | 2025-05-07 |
$d = new DateTime('+3 years'); echo $d->format('Y-m-d') ; | 2028-02-08 |
$d = new DateTime('+1 year 5 days'); echo $d->format('Y-m-d') ; | 2026-02-13 |
$d = new DateTime('Monday'); echo $d->format('Y-m-d') ; | 2025-02-10 |
$d = new DateTime('Monday +1 day '); echo $d->format('Y-m-d') ; | 2025-02-11 |
$d = new DateTime('first day of this month'); echo $d->format('Y-m-d') ; | 2025-02-01 |
$d = new DateTime('last day of this month'); echo $d->format('Y-m-d') ; | 2025-02-28 |
$d = new DateTime('first day of previous month'); echo $d->format('Y-m-d') ; | 2025-01-01 |
$d = new DateTime('last day of previous month'); echo $d->format('Y-m-d') ; | 2025-01-31 |
$d = new DateTime('first day of next month'); echo $d->format('Y-m-d') ; | 2025-03-01 |
$d = new DateTime('last day of next month'); echo $d->format('Y-m-d') ; | 2025-03-31 |
$d = new DateTime('last day of next month +1 hour'); echo $d->format('Y-m-d : H:i:s') ; | 2025-03-31 : 05:36:35 |
$d = new DateTime('Monday +1 hour +20 minutes +10 seconds'); echo $d->format('Y-m-d : H:i:s') ; | 2025-02-10 : 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 |
hgggfhhfhf ghf | 26-08-2014 |
how to display this (Fri May 14 12:03:24 IST 2010) |
slon | 23-04-2015 |
Rather limited class. There is no easy way to get year, month, date etc. Stuid date difference returns a hole class istead of value in items I provide ('d', 'm', 'q' etc) as MSSQL & other conventional DateDiff functions do. |