SRFI 1:   List Library
SRFI 2:   AND-LET*:   an AND with local bindings...
SRFI 4:   Homogeneous numeric vector datatypes
SRFI 5:   A compatible let form with signatures and rest arguments
SRFI 6:   Basic String Ports
SRFI 7:   Feature-based program configuration language
SRFI 8:   RECEIVE:   Binding to multiple values
SRFI 9:   Defining Record Types
SRFI 11:   Syntax for receiving multiple values
SRFI 13:   String Libraries
SRFI 14:   Character-set Library
SRFI 16:   Syntax for procedures of variable arity
SRFI 17:   Generalized set!
SRFI 19:   Time Data Types and Procedures
SRFI 23:   Error reporting mechanism
SRFI 25:   Multi-dimensional Array Primitives
SRFI 26:   Notation for Specializing Parameters without Currying
SRFI 27:   Sources of Random Bits
SRFI 28:   Basic Format Strings
SRFI 29:   Localization
SRFI 30:   Nested Multi-line Comments
SRFI 31:   A special form rec for recursive evaluation
SRFI 34:   Exception Handling for Programs
SRFI 35:   Conditions
SRFI 38:   External Representation for Data With Shared Structure
SRFI 39:   Parameter objects
SRFI 40:   A Library of Streams
SRFI 41:   Streams
SRFI 42:   Eager Comprehensions
SRFI 43:   Vector Library
SRFI 45:   Primitives for Expressing Iterative Lazy Algorithms
SRFI 48:   Intermediate Format Strings
SRFI 54:   Formatting
SRFI 57:   Records
SRFI 59:   Vicinity
SRFI 60:   Integers as Bits
SRFI 61:   A more general cond clause
SRFI 62:   S-expression comments
SRFI 63:   Homogeneous and Heterogeneous Arrays
SRFI 64:   A Scheme API for test suites
SRFI 66:   Octet Vectors
SRFI 67:   Compare Procedures
SRFI 69:   Basic hash tables
SRFI 71:   Extended LET-syntax for multiple values
SRFI 74:   Octet-Addressed Binary Blocks
SRFI 78:   Lightweight testing
SRFI 86:   MU & NU simulating VALUES & CALL-WITH-VALUES...
SRFI 87:   => in case clauses
SRFI 98:   An interface to access environment variables
Index
On this page:
lax-date?

SRFI 19: Time Data Types and Procedures🔗ℹ

Original specification: SRFI 19

The date structure produced by this SRFI library is identical to the one provided by racket/base in most cases (see date).

For backwards compatibility, when an invalid date field value is provided to the SRFI constructor, the constructor will produce a lax date structure. A lax date structure is not compatible with functions from racket/base or racket/date. SRFI functions such as string->date may return a lax date structure depending on the format string. The predicate lax-date? recognizes lax dat structures.

As an extension, Racket’s implementation of string->date supports ~? as a conversion specifier: it parses one- and two-digit years like ~y and three- and four-digit years like ~Y.

Examples:
> (string->date "4-1-99" "~d-~m-~?")

(date* 0 0 0 4 1 1999 1 3 #f 0 0 "")

> (string->date "4-1-1999" "~d-~m-~?")

(date* 0 0 0 4 1 1999 1 3 #f 0 0 "")

procedure

(lax-date? v)  boolean?

  v : any/c
Returns #t if v is a lax date structure. Otherwise, returns #f.

Examples:
> (lax-date? (make-date 0 19 10 10 14 "bogus" "bogus" 0))

#t

> (lax-date? (make-date 0 19 10 10 14 1 2013 0))

#f

> (lax-date? (string->date "10:21:00" "~H:~M:~S"))

#t