$datetime API variable / WireDateTime class

The $datetime API variable provides helpers for working with dates/times and conversion between formats.

Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the WireDateTime class also inherits all the methods and properties of: Wire.

Show $var?             Show args?        

Common

NameReturnSummary 
$datetime->date()
string boolFormat a date, using PHP date(), strftime() or other special strings (see arguments). 
$datetime->elapsedTimeStr($start)
stringRender an elapsed time string 
$datetime->relativeTimeStr($ts)
stringGiven a unix timestamp (or date string), returns a formatted string indicating the time relative to now
$datetime->stringToTimestamp(string $str, string $format)
intGiven a date/time string and expected format, convert it to a unix timestamp 
$datetime->strtotime(string $str)
false int nullParse about any English textual datetime description into a Unix timestamp using PHP’s strtotime() 

Advanced

NameReturnSummary 
$datetime->convertDateFormat(string $format, string $type)
stringGiven a PHP date() format, convert it to either 'js', 'strftime' or 'regex' format 
$datetime->getDateFormats()
arrayReturn all predefined PHP date() formats for use as dates 
$datetime->getTimeFormats()
arrayReturn all predefined PHP date() formats for use as times 

Additional methods and properties

In addition to the methods and properties above, WireDateTime also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.185

Twitter updates

  • ProcessWire 3.0.192 (dev branch) contains 11 issue fixes and 5 pull requests, over 20 commits— More
    7 January 2022
  • ProcessWire 3.0.191 core updates: updates to the installer and the profile exporter module— More
    24 December 2021
  • This week ProcessWire went on a diet, trimming the core size from 15.5 MB down to 7.5 MB by moving optional site profiles into their own GitHub repos— More
    17 December 2021

Latest news

  • ProcessWire Weekly #402
    In the 402nd issue of ProcessWire Weekly we'll check out ProcessWire 3.0.193, highlight recent ProcessWire projects and resources, and more. Read on!
    Weekly.pw / 22 January 2022
  • ProcessWire 3.0.190 core updates
    ProcessWire 3.0.190 has 15 commits relative to 3.0.189 and contains a mixture of issue resolutions and feature additions. This post covers them all, in addition to updates for the PageAutosave and ProFields Table modules.
    Blog / 3 December 2021
  • Subscribe to weekly ProcessWire news

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer