MediaWiki  REL1_22
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 Timestamp.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 Timestamp.php.


Member Function Documentation

Since:
1.20
Returns:
string

Definition at line 315 of file Timestamp.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 326 of file Timestamp.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 362 of file Timestamp.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 178 of file Timestamp.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 387 of file Timestamp.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 373 of file Timestamp.php.

Referenced by DatabaseOracle\doQuery(), SpecialVersion\getCopyrightAndAuthorList(), Preferences\getTimezoneOptions(), HistoryAction\onView(), Parser\pstPass2(), 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 282 of file Timestamp.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 149 of file Timestamp.php.

Get the timezone of this timestamp.

Since:
1.22
Returns:
DateTimeZone The timezone

Definition at line 351 of file Timestamp.php.

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

Since:
1.22
Parameters:
User$userUser to take preferences from
[out]MWTimestamp$tsTimestamp to adjust
Returns:
DateInterval Offset that was applied to the timestamp

Definition at line 214 of file Timestamp.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 Timestamp.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 337 of file Timestamp.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 Timestamp.php.

DateTime MWTimestamp::$timestamp

The actual timestamp being wrapped (DateTime object).

Definition at line 50 of file Timestamp.php.


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