SRFI 19: Time Data Types and Procedures

▼ |  | SRFIs: Libraries

| 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?

top contents ← prev up next →

## SRFI 19: Time Data Types and Procedures🔗ℹ

(require srfi/19) | package: srfi-lite-lib

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 -18000 0 "")
> > (string->date "4-1-1999" "~d-~m-~?")
> (date* 0 0 0 4 1 1999 1 3 #f -18000 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

top contents ← prev up next →