Date
To get the current date in the format of YYYY-MM-DD using date:
echo date('Y-m-d', strtotime('today')); // 2020-06-26
The same result can be achieved with DateTime:
$date = new DateTime('today');
echo $date->format('Y-m-d'); // 2020-06-26
And the time can also be included:
echo date('Y-m-d H:i:s'); // 2020-06-26 01:23:45
Parse
To parse an English textual description of the date, use strtotime or DateTime::format.
Parsing with strtotime:
echo date('Y-m-d', strtotime('yesterday')); // 2020-06-25
echo date('Y-m-d', strtotime('-1 days')); // 2020-06-25
Parsing with DateTime::format:
echo (new DateTime('tomorrow'))->format('Y-m-d'); // 2020-06-27
echo (new DateTime('+1 days'))->format('Y-m-d'); // 2020-06-27
Constants
There are predefined date constants:
DATE_ATOMDATE_COOKIEDATE_ISO8601DATE_RFC822DATE_RFC850DATE_RFC1036DATE_RFC1123DATE_RFC7231DATE_RFC2822DATE_RFC3339DATE_RFC3339_EXTENDEDDATE_RSSDATE_W3C
echo date(DATE_ATOM); // 2020-06-26T01:23:45+00:00
echo date(DATE_COOKIE); // Friday, 26-Jun-2020 01:23:45 UTC
echo date(DATE_ISO8601); // 2020-06-26T01:23:45+0000
echo date(DATE_RFC822); // Fri, 26 Jun 20 01:23:45 +0000
echo date(DATE_RFC850); // Friday, 26-Jun-20 01:23:45 UTC
echo date(DATE_RFC1036); // Fri, 26 Jun 20 01:23:45 +0000
echo date(DATE_RFC1123); // Fri, 26 Jun 2020 01:23:45 +0000
echo date(DATE_RFC7231); // Fri, 26 Jun 2020 01:23:45 GMT
echo date(DATE_RFC2822); // Fri, 26 Jun 2020 01:23:45 +0000
echo date(DATE_RFC3339); // 2020-06-26T01:23:45+00:00
echo date(DATE_RFC3339_EXTENDED); // 2020-06-26T01:23:45.000+00:00
echo date(DATE_RSS); // Fri, 26 Jun 2020 01:23:45 +0000
echo date(DATE_W3C); // 2020-06-26T01:23:45+00:00
Here are some examples of using shorthand constants:
echo date('c', strtotime('now')); // ISO8601
echo (new DateTime())->format('r'); // RFC2822
Demo
Check out the following Repl.it: