Date and Time - Maple Help

Online Help

All Products    Maple    MapleSim


Calendar Package Updates in 2019

 

Description

Formatting Dates and Times

Parsing Dates and Times

Description

• 

The Calendar package has new commands for parsing and formatting Date and Time objects.

Formatting Dates and Times

• 

Use the Calendar:-Format command or the Calendar:-VariantFormat command to format a Date or UTC Time object as a string. You can do this in a locale-sensitive way by using the locale option.

• 

Codes for formatting and parsing are specified according to the Unicode Technical Standard #35, "Unicode Locale Data Markup Language (LDML)", Part 4 (Dates).

with( Calendar ):

Format( Today() );

2021-03-09T02:31:43 UTC

(1)

Format( Today(), 'locale' = "fr" );

2021-03-09T02:31:43 UTC

(2)

Format( Today(), "yyyy.MM.dd G 'at' HH:mm:ss zzz" );

2021.03.09 AD at 02:31:43 UTC

(3)

Format( Today(), "yyyy.MM.dd G 'um' HH:mm:ss zzz", 'locale' = "de" );

2021.03.09 n. Chr. um 02:31:43 UTC

(4)

Format( Now( SystemUTCClock ), "K:mm a, z", 'locale' = "ja" );

2:31 午前, UTC

(5)

Format( Now( SystemUTCClock ), "hh 'o''clock' a, zzzz" );

02 o'clock AM, Coordinated Universal Time

(6)
• 

You can use a different (printf-like) formatting string by using the command VariantFormat.

• 

Unlike the similar command FormatTime in the StringTools package, the Calendar:-VariantFormat command supports the locale option, allowing you to format dates and times in a locale-sensitive way. Moreover, the Calendar package commands work directly with Date and UTC Time objects.

VariantFormat( Today(), "%c" );

Tue Mar 09 02:31:43 2021

(7)

VariantFormat( Today(), "%c", 'locale' = "id" );

Sel Mar 09 02:31:43 2021

(8)

fmt := "EEEE, MMMM dd, yyyy GG, hh:mm:ss a":

DocumentTools:-Tabulate( map( loc -> Format( Today(), fmt, ':-locale' = loc ), << "en", "fr", "de" > | < "ks", "ja", "ko" >> ) ):

Tuesday, March 09, 2021 AD, 02:31:44 AM

بۆموار, مارٕچ ۰۹, ۲۰۲۱ اے ڈی, ۰۲:۳۱:۴۴ AM

mardi, mars 09, 2021 ap. J.-C., 02:31:44 AM

火曜日, 3 09, 2021 西暦, 02:31:44 午前

Dienstag, März 09, 2021 n. Chr., 02:31:44 AM

화요일, 3 09, 2021 AD, 02:31:44 오전

 

Parsing Dates and Times

• 

As for formatting, there are new commands to parse dates in strings. These are Parse and VariantParse, corresponding to Format and VariantFormat, respectively.

• 

Both Parse and VariantParse support the locale option.

s := Format( Today(), "EEEE, MMMM dd, yyyy GG, hh:mm:ss a", 'locale' = "id" );

sSelasa, Maret 09, 2021 M, 02:31:44 AM

(9)

Parse( s, "EEEE, MMMM dd, yyyy GG, hh:mm:ss a", 'locale' = "id" );

Date2021&comma;3&comma;9&comma;2&comma;31&comma;44&comma;timezone&equals;UTC&comma;coefficient&equals;1

(10)

s := VariantFormat( Today(), "%c", 'locale' = "de" );

sDi. März 09 02:31:44 2021

(11)

VariantParse( s, "%c", 'locale' = "de" );

Date2021&comma;3&comma;9&comma;2&comma;31&comma;44&comma;timezone&equals;UTC&comma;coefficient&equals;1

(12)

 

See Also

Calendar

Calendar:-Format

Calendar:-Parse

Calendar:-VariantFormat

Calendar:-VariantParse

Date

StringTools:-FormatTime

StringTools:-ParseTime

Time