Date and Time - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

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() );

2024-03-01T15:45:49 UTC

(1)

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

2024-03-01T15:45:49 UTC

(2)

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

2024.03.01 AD at 15:45:49 UTC

(3)

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

2024.03.01 n. Chr. um 15:45:49 UTC

(4)

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

3:45 午後, UTC

(5)

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

03 o'clock PM, 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" );

Fri Mar 01 15:45:49 2024

(7)

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

Jum Mar 01 15:45:49 2024

(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" >> ) ):

Friday, March 01, 2024 AD, 03:45:49 PM

جُمہ, مارٕچ ۰۱, ۲۰۲۴ اے ڈی, ۰۳:۴۵:۴۹ PM

vendredi, mars 01, 2024 ap. J.-C., 03:45:49 PM

金曜日, 3 01, 2024 西暦, 03:45:49 午後

Freitag, März 01, 2024 n. Chr., 03:45:49 PM

금요일, 3 01, 2024 AD, 03:45:49 오후

 

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" );

sJumat, Maret 01, 2024 M, 03:45:50 PM

(9)

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

<Date: 2024-03-01T15:45:50 GMT>

(10)

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

sFr. März 01 15:45:50 2024

(11)

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

<Date: 2024-03-01T15:45:50 GMT>

(12)

See Also

Calendar

Calendar:-Format

Calendar:-Parse

Calendar:-VariantFormat

Calendar:-VariantParse

Date

StringTools:-FormatTime

StringTools:-ParseTime

Time