Date, date/time and time functions
- date()
- dateLong()
- dateMedium()
- dateShort()
- dateTime()
- dateTimeLong()
- dateTimeMedium()
- dateTimeShort()
- time()
- timeLong()
- timeMedium()
- timeShort()
date(value, pattern)
Formats a date object using a custom pattern.
value
A Date object. A Date can contain a date and time.
pattern
String. The custom pattern may consist of pattern letters, separating symbols and quoted text, for example: "MMMM dd, yyyy"; see Date and time patterns. Note that the repetition of pattern letters determines the exact presentation.
dateLong(value)
Formats a date as long string representation, for example April 1, 2016.
value
A Date object. A Date can contain a date and time.
dateMedium(value)
Formats a date as medium string representation, for example 1-Apr-2016.
value
A Date object. A Date can contain a date and time.
dateShort(value)
Formats a date as short string representation, for example 4/1/16.
value
A Date object. A Date can contain a date and time.
dateTime(value, pattern)
Formats a date and time object using a custom pattern.
value
A Date object. A Date can contain a date and time.
pattern
String. The custom pattern may consist of pattern letters, separating symbols and quoted text, for example: "yyyy.MM.dd G 'at' HH:mm:ss z"; see Date and time patterns. Note that the repetition of pattern letters determines the exact presentation.
dateTimeLong(value)
Formats a date and time as long string representation, for example April 1, 2016 12:00:00 EDT AM.
value
A Date object. A Date can contain a date and time.
dateTimeMedium(value)
Formats a date and time as medium string representation, for example 1-Apr-2016 12:00:00 AM.
value
A Date object. A Date can contain a date and time.
dateTimeShort(value)
Formats a date and time as short string representation, for example 1/4/16 12:00 AM.
value
A Date object. A Date can contain a date and time.
time(value, pattern)
Formats a time using a custom pattern.
value
A Date object. A Date can contain a date and time.
pattern
String. The custom pattern may consist of pattern letters, separating symbols and quoted text, for example: "'at' HH:mm:ss z"; see Date and time patterns. Note that the repetition of pattern letters determines the exact presentation.
timeLong(value)
Formats a time as long string representation, for example 12:00:00 EDT AM.
value
A Date object. A Date can contain a date and time.
timeMedium(value)
Formats a time as medium string representation, for example 12:00:00 AM.
value
A Date object. A Date can contain a date and time.
timeShort(value)
Formats a time as short string representation, for example 12:00 AM.
value
A Date object. A Date can contain a date and time.
Note: The locale, set within the template properties, influences the output of the different Date functions; see Locale. Also see the example below.
Note: In OL Connect CEF, formatting is based on the latest CLDR standard. This means there may be differences in the way numbers and dates are formatted, compared to previous versions of OL Connect.
Currencies now consistently use standard-currency rather than accounting-currency, which means negative values are not enclosed in parentheses by default, but instead have a minus sign.
Examples
Create a Date object from a date field
Create a Date object from a text field
When you open a data file or database in the Designer, all fields are treated as text (string) fields. The formatter cannot be used to format a string directly as a date.
To format such values, first convert the string into a Date object, store it in a variable, and then pass that variable to the formatter.
The following sample script demonstrates this approach. It splits a string into parts and creates a new Date object using those parts in the correct order. To construct a Date object, the values must be provided in the following order: year, month, day, and optionally hours, minutes, seconds, and milliseconds (see MDN Web Docs - Date object). If the time is omitted, it defaults to 12:00:00 AM.
/* Convert the string 21-12-1997 into a valid JavaScript date */
var strDate = record.fields["date"];
var dateParts = strDate.split("-");
var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0])
Note: In JavaScript, months are zero-based (0-11). January is 0. December is 11.
Another way to convert a string to a Date object is to use the Date.parse() function; see MDN Web Docs - Date parse.
The date variable can then be used as input for the date(), dateTime(), or time() functions of the formatter.
var myDate = formatter.date(date, "MM/dd/yyyy")
results.text(myDate)
The custom pattern in this example outputs the month and day as two digits each and the year as four digits: 05/21/2016. For more examples of formatting patterns, see Date and time patterns.
Using a custom locale in a Date object
By default, the date and date/time functions use the locale set in the template properties. However, you can apply a different locale when scripting the Date object by specifying an optional locale (language tag) parameter.
var myDate = formater.dateShort(records.fields.DATE, “en-GB”)
results.text(myDate)
Note: If the specified language tag is invalid, the result is formatted using the "en-US" locale instead of the locale set in the template properties. This may lead to an unexpected date format.