Function: toDate()
Converts a standard PhixFlow date string (e.g. 20120521 or 20120521.172108) into a true date, or a non-standard date string into a true date if supplied with a format pattern.
Returns the date if dateString is a true date.
Returns null if dateString is null.
Beware of daylight savings clock changes! In countries where daylight savings are applied, at the point of the year when the clocks go forward, a hour will be lost. If you have a date and time that happen to fall into this missing hour, when you run a toDate() on the value, you will get an error like
failed: Unable to convert the string "26/03/2017 01:00:15" into a date. Valid formats include dd/MM/yyyy, dd/MM/yyyy HH:mm:ss
Syntax
toDate(dateString)
toDate(dateString, formatString)
Argument | Type | Description |
---|---|---|
dateString | String | String to be converted into a date. |
formatString | String | Optional argument that which allows for a date and time pattern string to represent the format of dateString. |
Examples
toDate("20100714")
Returns the date 14/07/2010.
toDate(in.ChargeDate,"yyyy/MM/dd HH:mm:ss")
where in.ChargeDate has the value "2002/12/09 09:03:42", returns the date/time 09/12/2002 09:03:42
toDate(in.ChargeDate,"yyyy MMM d, HH-mm-ss")
where in.ChargeDate has the value "2002 Dec 9, 09-03-42", returns the date/time 09/12/2002 09:03:42
toDate("2010.July.04 AD 12:08 PM","y.MMM.d G h:m a")
Returns the date/time 04/07/2010 12:08:00
Date Format Pattern
The following values are available for use in dateFormat patterns:
Symbol | Meaning | Presentation | Examples |
---|---|---|---|
G | era | text | AD |
C | century of era (>=0) | number | 20 |
Y | year of era (>=0) | year | 1996 |
x | weekyear | year | 1996 |
w | week of weekyear | number | 27 |
e | day of week | number | 2 |
E | day of week | text | Tuesday; Tue |
y | year | year | 1996 |
D | day of year | number | 189 |
M | month of year | month | July; Jul; 07 |
d | day of month | number | 10 |
a | halfday of day | text | PM |
K | hour of halfday (0~11) | number | 0 |
h | clockhour of halfday (1~12) | number | 12 |
H | hour of day (0~23) | number | 0 |
k | clockhour of day (1~24) | number | 24 |
m | minute of hour | number | 30 |
s | second of minute | number | 55 |
S | fraction of second | number | 978 |
z | time zone | text | Pacific Standard Time; PST |
Z | time zone offset/id | zone | -0800; -08:00; America/Los_Angeles |
' | escape for text | delimiter | |
'' | single quote | literal | ' |
The number of letters used in the pattern determines the format.
- Text: If the number of pattern letters is 4 or more, the full form is used; otherwise a short or abbreviated form is used if available.
- Number: The minimum number of digits. Shorter numbers are zero-padded to this amount.
- Year: Numeric presentation for year and weekyear fields are handled specially. For example, if the count of 'y' is 2, the year will be displayed as the zero-based year of the century, which is two digits.
- Month: 3 or over, use text, otherwise use number.
- Zone: 'Z' outputs offset without a colon, 'ZZ' outputs the offset with a colon, 'ZZZ' or more outputs the zone id.
- Zone names: Time zone names ('z') cannot be parsed.
- Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '?' will appear in the resulting time text even they are not embraced within single quotes.