MediaWiki  REL1_24
MWTimestamp Class Reference

Library for creating and parsing MW-style timestamps. More...

List of all members.

Public Member Functions

 __construct ($timestamp=false)
 Make a new timestamp and set it to the specified time, or the current time if unspecified.
 __toString ()
 diff (MWTimestamp $relativeTo)
 Calculate the difference between two MWTimestamp objects.
 format ($format)
 Format the timestamp in a given format.
 getHumanTimestamp (MWTimestamp $relativeTo=null, User $user=null, Language $lang=null)
 Get the timestamp in a human-friendly relative format, e.g., "3 days ago".
 getRelativeTimestamp (MWTimestamp $relativeTo=null, User $user=null, Language $lang=null, array $chosenIntervals=array())
 Generate a purely relative timestamp, i.e., represent the time elapsed between the given base timestamp and this object.
 getTimestamp ($style=TS_UNIX)
 Get the timestamp represented by this object in a certain form.
 getTimezone ()
 Get the timezone of this timestamp.
 offsetForUser (User $user)
 Adjust the timestamp depending on the given user's preferences.
 setTimestamp ($ts=false)
 Set the timestamp to the specified time, or the current time if unspecified.
 setTimezone ($timezone)
 Set the timezone of this timestamp to the specified timezone.

Static Public Member Functions

static getInstance ($ts=false)
 Get a timestamp instance in GMT.
static getLocalInstance ($ts=false)
 Get a timestamp instance in the server local timezone ($wgLocaltimezone)

Public Attributes

DateTime $timestamp
 The actual timestamp being wrapped (DateTime object).

Static Private Attributes

static $formats
 Standard gmdate() formats for the different timestamp types.

Detailed Description

Library for creating and parsing MW-style timestamps.

Based on the JS library that does the same thing.

Since:
1.20

Definition at line 31 of file MWTimestamp.php.


Constructor & Destructor Documentation

MWTimestamp::__construct ( timestamp = false)

Make a new timestamp and set it to the specified time, or the current time if unspecified.

Since:
1.20
Parameters:
bool | string$timestampTimestamp to set, or false for current time

Definition at line 60 of file MWTimestamp.php.


Member Function Documentation

Since:
1.20
Returns:
string

Definition at line 345 of file MWTimestamp.php.

MWTimestamp::diff ( MWTimestamp relativeTo)

Calculate the difference between two MWTimestamp objects.

Since:
1.22
Parameters:
MWTimestamp$relativeToBase time to calculate difference from
Returns:
DateInterval|bool The DateInterval object representing the difference between the two dates or false on failure

Definition at line 357 of file MWTimestamp.php.

MWTimestamp::format ( format)

Format the timestamp in a given format.

Since:
1.22
Parameters:
string$formatPattern to format in
Returns:
string The formatted timestamp

Definition at line 393 of file MWTimestamp.php.

MWTimestamp::getHumanTimestamp ( MWTimestamp relativeTo = null,
User user = null,
Language lang = null 
)

Get the timestamp in a human-friendly relative format, e.g., "3 days ago".

Determine the difference between the timestamp and the current time, and generate a readable timestamp by returning "<N> <units> ago", where the largest possible unit is used.

Since:
1.20
1.22 Uses Language::getHumanTimestamp to produce the timestamp
Parameters:
MWTimestamp | null$relativeToThe base timestamp to compare to (defaults to now).
User | null$userUser the timestamp is being generated for (or null to use main context's user).
Language | null$langLanguage to use to make the human timestamp (or null to use main context's language).
Returns:
string Formatted timestamp

Definition at line 205 of file MWTimestamp.php.

static MWTimestamp::getInstance ( ts = false) [static]

Get a timestamp instance in GMT.

Since:
1.22
Parameters:
bool | string$tsTimestamp to set, or false for current time
Returns:
MWTimestamp The instance

Definition at line 418 of file MWTimestamp.php.

Referenced by Xml\dateMenu(), and ReverseChronologicalPager\getDateCond().

static MWTimestamp::getLocalInstance ( ts = false) [static]

Get a timestamp instance in the server local timezone ($wgLocaltimezone)

Since:
1.22
Parameters:
bool | string$tsTimestamp to set, or false for current time
Returns:
MWTimestamp The local instance

Definition at line 404 of file MWTimestamp.php.

Referenced by SpecialVersion\getCopyrightAndAuthorList(), Preferences\getTimezoneOptions(), CoreParserFunctions\revisionday(), CoreParserFunctions\revisionday2(), CoreParserFunctions\revisionmonth(), CoreParserFunctions\revisionmonth1(), CoreParserFunctions\revisiontimestamp(), CoreParserFunctions\revisionyear(), and UserMailer\send().

MWTimestamp::getRelativeTimestamp ( MWTimestamp relativeTo = null,
User user = null,
Language lang = null,
array chosenIntervals = array() 
)

Generate a purely relative timestamp, i.e., represent the time elapsed between the given base timestamp and this object.

Parameters:
MWTimestamp$relativeToRelative base timestamp (defaults to now)
User$userUse to use offset for
Language$langLanguage to use
array$chosenIntervalsIntervals to use to represent it
Returns:
string Relative timestamp

Definition at line 310 of file MWTimestamp.php.

Get the timestamp represented by this object in a certain form.

Convert the internal timestamp to the specified format and then return it.

Since:
1.20
Parameters:
int$styleConstant Output format for timestamp
Exceptions:
TimestampException
Returns:
string The formatted timestamp

Definition at line 173 of file MWTimestamp.php.

Get the timezone of this timestamp.

Since:
1.22
Returns:
DateTimeZone The timezone

Definition at line 382 of file MWTimestamp.php.

Adjust the timestamp depending on the given user's preferences.

Since:
1.22
Parameters:
User$userUser to take preferences from
Returns:
DateInterval Offset that was applied to the timestamp

Definition at line 242 of file MWTimestamp.php.

Set the timestamp to the specified time, or the current time if unspecified.

Parse the given timestamp into either a DateTime object or a Unix timestamp, and then store it.

Since:
1.20
Parameters:
string | bool$tsTimestamp to store, or false for now
Exceptions:
TimestampException

Definition at line 75 of file MWTimestamp.php.

MWTimestamp::setTimezone ( timezone)

Set the timezone of this timestamp to the specified timezone.

Since:
1.22
Parameters:
string$timezoneTimezone to set
Exceptions:
TimestampException

Definition at line 368 of file MWTimestamp.php.


Member Data Documentation

MWTimestamp::$formats [static, private]
Initial value:
 array(
        TS_UNIX => 'U',
        TS_MW => 'YmdHis',
        TS_DB => 'Y-m-d H:i:s',
        TS_ISO_8601 => 'Y-m-d\TH:i:s\Z',
        TS_ISO_8601_BASIC => 'Ymd\THis\Z',
        TS_EXIF => 'Y:m:d H:i:s', 
        TS_RFC2822 => 'D, d M Y H:i:s',
        TS_ORACLE => 'd-m-Y H:i:s.000000', 
        TS_POSTGRES => 'Y-m-d H:i:s',
    )

Standard gmdate() formats for the different timestamp types.

Definition at line 35 of file MWTimestamp.php.

DateTime MWTimestamp::$timestamp

The actual timestamp being wrapped (DateTime object).

Definition at line 50 of file MWTimestamp.php.


The documentation for this class was generated from the following file: