======date====== Formats a date/time. \\ **Syntax** * ''[[PTPScript:Types:String|String]] date( [[PTPScript:Types:String|String]] format [, [[PTPScript:Types:Number|Number]] time [, [[PTPScript:Types:Boolean|Boolean]] gmt ] ] )'' \\ **Parameters** * [[PTPScript:Types:String|String]] ''format'' - How to format the date/time. See the table below. * [[PTPScript:Types:Number|Number]] ''type'' - The time to use, as a Unix timestamp in integer Number format. If omitted, it defaults to the current time, as returned by ''[[PTPScript:Functions:Time|time()]]''. * [[PTPScript:Types:Boolean|Boolean]] ''gmt'' - Whether to format the date/time according to GMT/UTC. * **''false''** (default) - the date/time will be formatted according to the local timezone. * **''true''** - the date/time will be formatted according to GMT/UTC. \\ **Result** * [[PTPScript:Types:String|String]] - The date/time formatted according to ''format''. Returns ''time'' formatted according to ''format''. ===Date format codes=== ^ Character ^ Description ^ Example returned values ^ ^ **Day** ^^^ | ''d'' | Day of the month, 2 digits with leading zeros | ''01'' to ''31'' | | ''D'' | A textual representation of a day, three letters | ''Mon'' to ''Sun'' | | ''j'' | Day of the month without leading zeros | ''1'' to ''31'' | | ''l'' | (lowercase ''L'') A full textual representation of the day of the week | ''Sunday'' to ''Saturday'' | | ''N'' | ISO-8601 numeric representation of the day of the week | ''1'' (for Monday) to ''7'' (for Sunday) | | ''S'' | English ordinal suffix for the day of the month, 2 characters | ''st'', ''nd'', ''rd'', or ''th''. Works well with ''j'' | | ''w'' | Numeric representation of the day of the week | ''0'' (for Sunday) to ''6'' (for Saturday) | | ''z'' | The day of the year (starting from ''0'') | ''0'' to ''365'' | ^ **Week** ^^^ | ''W'' | ISO-8601 week number of year, weeks starting on Monday | ''42'' (the 42nd week in the year) | ^ **Month** ^^^ | ''F'' | A full textual representation of a month, such as January or March | ''January'' to ''December'' | | ''m'' | Numeric representation of a month, with leading zeros | ''01'' to ''12'' | | ''M'' | A short textual representation of a month, three letters | ''Jan'' to ''Dec'' | | ''n'' | Numeric representation of a month, without leading zeros | ''1'' to ''12'' | | ''t'' | Number of days in the given month | ''28'' to ''31'' | ^ **Year** ^^^ | ''L'' | Whether it's a leap year | ''1'' if it is a leap year, ''0'' otherwise | | ''o'' | ISO-8601 year number. This has the same value as ''Y'', except that if the ISO week number (''W'') belongs to the previous or next year, that year is used instead | ''1999'', ''2003'' | | ''Y'' | A full numeric representation of a year, 4 digits | ''1999'', ''2003'' | | ''y'' | A two digit representation of a year | ''99'', ''03'' | ^ **Time** ^^^ | ''a'' | Lowercase Ante meridiem and Post meridiem | ''am'' or ''pm'' | | ''A'' | Uppercase Ante meridiem and Post meridiem | ''AM'' or ''PM'' | | ''B'' | Swatch Internet time | ''000'' to ''999'' | | ''g'' | 12-hour format of an hour without leading zeros | ''1'' to ''12'' | | ''G'' | 24-hour format of an hour without leading zeros | ''0'' to ''23'' | | ''h'' | 12-hour format of an hour with leading zeros | ''01'' to ''12'' | | ''H'' | 24-hour format of an hour with leading zeros | ''00'' to ''23'' | | ''i'' | Minutes with leading zeros | ''00'' to ''59'' | | ''s'' | Seconds, with leading zeros | ''00'' to ''59'' | ^ **Timezone** ^^^ | ''e'' | Timezone identifier | ''UTC'', ''GMT'', ''Atlantic/Azores'' | | ''I'' | (capital ''i'') Whether or not the date is in daylights savings time | ''1'' if Daylight Savings Time, ''0'' otherwise | | ''O'' | Difference to Greenwich time (GMT) in hours | ''+0200'' | | ''P'' | Difference to Greenwich time (GMT) with colon between hours and minutes | ''+02:00'' | | ''T'' | Timezone setting of the webserver | ''EST'', ''MDT'' | | ''Z'' | Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive | ''-43200'' to ''43200'' | ^ **Full Date/Time** ^^^ | ''c'' | ISO 8601 date | ''2004-02-12T15:19:21+00:00'' | | ''r'' | RFC 2822 formatted date | ''Thu, 21 Dec 2000 16:01:07 +0200'' | | ''U'' | Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) | See ''[[PTPScript:Functions:Time|time()]]'' | The characters in the table above have special meaning when included in ''format'', as described. Unrecognised characters are left as they are. To display a character in the table, instead of the information it would usually be replaced by, the character should be preceded by a backslash (\).