GlideDate - Scoped

  • Release version: Xanadu
  • Updated August 1, 2024
  • 7 minutes to read
  • The scoped GlideDate class provides methods for performing operations on GlideDate objects, such as instantiating GlideDate objects or working with GlideDate fields.

    For guidance on date time input strings with a list of common format conflicts, refer to Date and time format guidelines.

    See also GlideDateTime - Scoped.

    Scoped GlideDate - GlideDate()

    Creates a GlideDate object with the current date time.

    Table 1. Parameters
    Name Type Description
    None
    //Today's date is April 21, 2021
    var gd = new GlideDate();
    gs.info(gd.getValue());
    Output:
    2021-04-21

    Scoped GlideDate - getByFormat(String format)

    Gets the date in the specified date format.

    Table 2. Parameters
    Name Type Description
    format String Desired date format using Java SimpleDateFormat. For example, "dd-MM-yyyy" to get the day, month, and year, or "EEEE" to get the day of the week.
    Table 3. Returns
    Type Description
    String Date value for the GlideDate object in the specified format.
    var gd = new GlideDate(); 
    gd.setValue('2021-04-21');
    gs.info(gd.getByFormat("dd-MM-yyyy"));
    Output:
    21-04-2021

    Scoped GlideDate - getDayOfMonthNoTZ()

    Gets the day of the month stored by the GlideDate object, expressed in the UTC time zone.

    Table 4. Parameters
    Name Type Description
    None
    Table 5. Returns
    Type Description
    Number The day of the month in the UTC time zone, from 1 to 31.
    //Today's date is 2016-05-13 
    var gd =new GlideDate();
    gs.info(gd.getDayOfMonthNoTZ());

    Output:

    13

    Scoped GlideDate - getDisplayValue()

    Gets the date and time field value in the UTC time zone.

    See also: getDisplayValueInternal()

    Table 6. Parameters
    Name Type Description
    none
    Table 7. Returns
    Type Description
    String Date value for the GlideDate object in the UTC time zone.
    var gd = new GlideDate(); 
    gd.setValue('2025-04-21');
    gs.info(gd.getDisplayValue());
    Output:
    2025-04-21

    Scoped GlideDate - getDisplayValueInternal()

    Gets the date in the internal format (yyyy-MM-dd) and current user's timezone.

    See also getDisplayValue()

    Table 8. Parameters
    Name Type Description
    none
    Table 9. Returns
    Type Description
    String Date value for the GlideDate object in the current user's time zone.

    Format: yyyy-MM-dd

    var gd = new GlideDate(); 
    gs.info(gd.getDisplayValueInternal());
    Output:
    2021-04-21

    Scoped GlideDate - getDisplayValueLang(String style, String language)

    Returns the date value in the user's locale according to a specified language and date style.

    Table 10. Parameters
    Name Type Description
    style String Date format.
    Valid values:
    • full: returns the date in the format of <weekday, month, day, and year> according to the user's locale (for example, Monday, October 24, 2022).
    • long: returns the date in the format of <month, day, and year> according to the user's locale (for example, October 24, 2022).
    • medium: similar to long but returns the date with an abbreviated month (for example, Oct 24, 2022).
    • short: returns the date in the format of MM/DD/YY or DD/MM/YY according to the user's locale (for example, 10/24/2022 or 24/10/2022).

    If any other value is passed the API defaults to medium. Accepted values are not case sensitive.

    language String Returns the date according to a specified language value. Accepts language tags that conform with the BCP-47 standard. For example, fr for French or en-UK for British English. For a full list of accepted values, see BCP 47 Language Code List.
    Table 11. Returns
    Type Description
    String Date in the style and language specified according to the locale of the current user.

    The following example returns the date of the user's locale in various languages and styles.

    var gd = new GlideDate(); // This will fetch the current date
    
    
    gs.info('date: ' + gd.getDisplayValue());
    
    gs.info('date: ' + gd.getDisplayValueLang("full", "fr"));
    gs.info('date: ' + gd.getDisplayValueLang("long", "en-GB"));
    gs.info('date: ' + gd.getDisplayValueLang("medium", "de"));
    gs.info('date: ' + gd.getDisplayValueLang("short", "es-MX"));

    Output:

    
    date: 2023-01-18
    date: mercredi 18 janvier 2023
    date: 18 January 2023
    date: 18.01.2023
    date: 18/01/23

    Scoped GlideDate - getMonthNoTZ()

    Gets the month stored by the GlideDate object, expressed in the UTC time zone.

    Table 12. Parameters
    Name Type Description
    None
    Table 13. Returns
    Type Description
    Number The numerical value of the month from 1 to 12.
    //Today's date is 2016-05-13
    var gd =new GlideDate();
    gs.info(gd.getMonthNoTZ());

    Output:

    5

    Scoped GlideDate - getValue()

    Gets the date in the internal format (yyyy-MM-dd) and the system time zone (UTC by default).

    Table 14. Parameters
    Name Type Description
    none
    Table 15. Returns
    Type Description
    String The date value for the GlideDate object in the system time zone.

    Format: yyyy-MM-dd

    var gd = new GlideDate();
    gd.setValue('2021-04-21');
    gs.info(gd.getValue());
    Output:
    2021-04-21

    Scoped GlideDate - getYearNoTZ()

    Gets the year stored by the GlideDate object, expressed in the UTC time zone.

    Table 16. Parameters
    Name Type Description
    None
    Table 17. Returns
    Type Description
    Number The numerical value of the year.
    //Today's date is 2016-05-13
    var gd =new GlideDate();
    gs.info(gd.getYearNoTZ());

    Output:

    2016

    Scoped GlideDate - setDisplayValue(String asDisplayed)

    Sets a date value using the current user's display format and time zone.

    Table 18. Parameters
    Name Type Description
    asDisplayed String Date in the current user's display format and time zone.

    Format: Must be formatted using the current user's preferred display format, such as yyyy-MM-dd.

    Table 19. Returns
    Type Description
    None
    var gd = new GlideDate();
    gd.setDisplayValue("2011-01-01");
    gs.info(gd.getValue());

    Output:

    2011-01-01

    Scoped GlideDate - setDisplayValueLang(String date, String style)

    Sets a date using a specified style and format according to the current user's locale.

    Table 20. Parameters
    Name Type Description
    date String Date value for the GlideDate object in the current user's time zone. Valid values are any date and time output from the getDisplayValueLang() function.

    For instance, using output from the getDisplayValueLang(String style, String language) example earlier in this topic, October 25, 2022 or 25.10.2022 are accepted values.

    style String Date format.
    Valid values:
    • full: returns the date in the format of <weekday, month, day, and year> according to the user's locale (for example, Monday, October 24, 2022).
    • long: returns the date in the format of <month, day, and year> according to the user's locale (for example, October 24, 2022).
    • medium: similar to long but returns the date with an abbreviated month (for example, Oct 24, 2022).
    • short: returns the date in the format of MM/DD/YY or DD/MM/YY according to the user's locale (for example, 10/24/2022 or 24/10/2022).

    If any other value is passed the API defaults to medium. Accepted values are not case sensitive.

    Table 21. Returns
    Type Description
    void

    The following example shows how you can set the current date of the user's locale to 'full' style using setDisplayValueLang().

    glideDate.setDisplayValueLang("2/3/2023", "short");
    
    
    gs.info('date: ' + glideDate.getDisplayValue());
    gs.info('date: ' + glideDate.getDisplayValueLang("full"));

    Output:

    date: 2023-02-03
    date: Friday, February 3, 2023

    Scoped GlideDate - setDisplayValueLang(String date, String style, String language)

    Sets a date using a specified style, language, and format according to the current user's locale.

    Table 22. Parameters
    Name Type Description
    date String Date value for the GlideDate object in the current user's time zone. Valid values are any date and time output from the getDisplayValueLang() function.

    For instance, using output from the getDisplayValueLang(String style, String language) example earlier in this topic, October 25, 2022 or 25.10.2022 are accepted values.

    style String Date format.
    Valid values:
    • full: returns the date in the format of <weekday, month, day, and year> according to the user's locale (for example, Monday, October 24, 2022).
    • long: returns the date in the format of <month, day, and year> according to the user's locale (for example, October 24, 2022).
    • medium: similar to long but returns the date with an abbreviated month (for example, Oct 24, 2022).
    • short: returns the date in the format of MM/DD/YY or DD/MM/YY according to the user's locale (for example, 10/24/2022 or 24/10/2022).

    If any other value is passed the API defaults to medium. Accepted values are not case sensitive.

    language String Sets the language using a language tag that conforms with the BCP-47 standard. For example, fr for French or en-UK for British English. For a full list of accepted values, see BCP 47 Language Code List.
    Table 23. Returns
    Type Description
    Void

    The following example returns the date and time in short and full styles for English and French.

    var glideDateFR = new GlideDate(); 
    
    glideDateUS.setDisplayValueLang("2/3/202", "short", "en-US" );
    glideDateFR.setDisplayValueLang("2/3/2023", "short", "fr-FR" );
    
    gs.info('en-US date: ' + glideDateUS.getDisplayValue());
    gs.info('en-US date: ' + glideDateUS.getDisplayValueLang("full"));
    
    gs.info('fr-FR date: ' + glideDateFR.getDisplayValue());
    gs.info('fr-FR date: ' + glideDateFR.getDisplayValueLang("full"));

    Output:

    en-US date: 2023-02-03
    en-US date: Friday, February 3, 2023
    fr-FR date: 2023-03-02
    fr-FR date: Thursday, March 2, 2023

    Scoped GlideDate - setValue(String o)

    Sets the date of the current GlideDate object in internal format (yyyy-MM-dd) and the system time zone (UTC by default).

    Table 24. Parameters
    Name Type Description
    o String Date and time to set in the current GlideDate object.

    Format: yyyy-MM-dd

    Table 25. Returns
    Type Description
    None
    var gd = new GlideDate(); 
    gd.setValue('2015-01-01');
    gs.info(gd.getValue());

    Output:

    2015-01-01

    Scoped GlideDate - subtract(GlideDate start, GlideDate end)

    Gets the duration difference between two GlideDate values.

    Table 26. Parameters
    Name Type Description
    start GlideDate The start value.
    end GlideDate The end value.
    Table 27. Returns
    Type Description
    GlideDuration The duration between the two values.
    var sgd1 = new GlideDate(); 
    sgd1.setDisplayValue('2014-07-18'); 
    var sgd2 = new GlideDate(); 
    sgd2.setDisplayValue('2014-07-19'); 
     
    var duration = GlideDate.subtract(sgd1, sgd2); 
    gs.info(duration.getDisplayValue());
    Output:
    1 Day