15 Formatting and Parsing
15.1 Formatting Dates and Times
procedure
t : (or/c date-provider? time-provider?) pattern : string? locale : string? = (current-locale)
Examples: | ||||||||||||||||||
|
15.2 Parsing Dates and Times
15.2.1 Parsing ISO 8601 representations
procedure
(iso8601->date str) → date?
str : string?
Examples: | ||||
|
procedure
(iso8601->time str) → date?
str : string?
Example: | ||
|
procedure
(iso8601->datetime str) → date?
str : string?
Example: | ||
|
procedure
(iso8601->moment str) → date?
str : string?
Example: | ||
|
procedure
(iso8601/tzid->moment str) → date?
str : string?
Example: | ||
|
15.2.2 Flexible parsing based on patterns
procedure
(parse-date str pattern [ #:ci? ci? #:locale locale]) → date? str : string? pattern : string? ci? : boolean? = #t locale : string? = (current-locale)
Example: | ||||||
|
procedure
(parse-time str pattern [ #:ci? ci? #:locale locale]) → time? str : string? pattern : string? ci? : boolean? = #t locale : string? = (current-locale)
Example: | ||||||
|
procedure
(parse-datetime str pattern [ #:ci? ci? #:locale locale]) → datetime? str : string? pattern : string? ci? : boolean? = #t locale : string? = (current-locale)
Example: | ||||||
|
procedure
(parse-moment str pattern [ #:ci? ci? #:locale locale] #:resolve-offset resolve) → moment? str : string? pattern : string? ci? : boolean? = #t locale : string? = (current-locale) resolve : resolve-offset/raise
Example: | |||||||||
|
parameter
→ (-> (integer-in 0 99) exact-integer?) (current-two-digit-year-resolver resolver) → void? resolver : (-> (integer-in 0 99) exact-integer?)
(λ (parsed-year) (define current-year (->year (now))) (define lo (- current-year 50)) (define t (if (>= lo 0) (remainder lo 100) (+ 99 (remainder (add1 lo) 100)))) (+ parsed-year lo (if (< parsed-year t) 100 0) (- t)))
Example: | ||||
|