14.6 Time
Returns the current time in seconds. This time is always an exact
integer based on a platform-specific starting date (with a
platform-specific minimum and maximum value).
The value of (current-seconds) increases as time passes
(increasing by 1 for each second that passes). The current time in
seconds can be compared with a time returned by
file-or-directory-modify-seconds.
The resulting date reflects the time according to the local
time zone if local-time? is #t, otherwise it
reflects a date in UTC.
The value returned by current-seconds or
file-or-directory-modify-seconds is not portable among
platforms. Convert a time in seconds using seconds->date when
portability is needed.
Represents a date. For the
second field, values of
60 and
61 are for unusual, but possible for
leap-seconds. The
year-day field reaches
365 only in
leap years.
The dst? field is #t if the date reflects a
daylight-saving adjustment. The time-zone-offset field
reports the number of seconds east of UTC (GMT) for the current time zone
(e.g., Pacific Standard Time is -28800), including any
daylight-saving adjustment (e.g., Pacific Daylight Time is
-25200). When a date record is generated by
seconds->date with #f as the second argument, then
the dst? and time-zone-offset fields are
#f and 0, respectively.
The date constructor accepts any value for dst?
and converts any non-#f value to #t.
The value produced for the time-zone-offset field tends to be
sensitive to the value of the TZ environment variable,
especially on Unix platforms; consult the system documentation
(usually under tzset) for details.
See also the racket/date library.
Extends
date with a time zone name, such as
"MDT",
"Mountain Daylight Time", or
"UTC".
When a date* record is generated by seconds->date
with #f as the second argument, then the
time-zone-name field is "UTC".
The date* constructor accepts a mutable string for
time-zone-name and converts it to an immutable one.
Returns the current “time” in
fixnum milliseconds (possibly
negative). This time is based on a platform-specific starting date or
on the machine’s start-up time. Since the result is a
fixnum,
the value increases only over a limited (though reasonably long)
time.
Returns the current time in milliseconds since midnight UTC, January
1, 1970. The result may contain fractions of a millisecond.
In this example 1289513737015 is in milliseconds and 418
is in microseconds.
Returns an amount of processor time in
fixnum milliseconds
that has been consumed by the Racket process on the underlying
operating system. (On Unix and Mac OS X, this includes both user and
system time.) If
thread is
#f, the reported time
is for all Racket threads, otherwise the result is specific to the
time while
thread ran.
The precision of the result is platform-specific, and
since the result is a
fixnum, the value increases only over a
limited (though reasonably long) time.
Returns the amount of processor time in
fixnum milliseconds
that has been consumed by Racket’s garbage collection so far. This
time is a portion of the time reported by
(current-process-milliseconds), and is similarly limited.
Collects timing information for a procedure application.
Four values are returned: a list containing the result(s) of applying
proc to the arguments in lst, the number of milliseconds of
CPU time required to obtain this result, the number of “real” milliseconds
required for the result, and the number of milliseconds of CPU time (included
in the first result) spent on garbage collection.
The reliability of the timing numbers depends on the platform. If
multiple Racket threads are running, then the reported time may
include work performed by other threads.
Reports
time-apply-style timing information for the
evaluation of
expr directly to the current output port. The
result is the result of
expr.
14.6.1 Date Utilities
Converts a date to a string. The returned string contains the time of
day only if
time?. See also
date-display-format.
Parameter that determines the date string format. The initial format
is 'american.
Finds the representation of a date in platform-specific seconds.
The time-zone-offset field of date is ignored;
the date is assumed to be in local time by default or in UTC
if local-time? is #f. If
the platform cannot represent the specified date, an error is
signaled, otherwise an integer is returned.
Finds the representation of a date in platform-specific seconds. The
arguments correspond to the fields of the
date structure—
in
local time by default or UTC if
local-time? is
#f. If the platform cannot represent the specified date, an
error is signaled, otherwise an integer is returned.
Converts a date structure (up to 2099 BCE Gregorian) into a Julian
date number. The returned value is not a strict Julian number, but
rather Scalinger’s version, which is off by one for easier
calculations.
Converts a Julian number (Scalinger’s off-by-one version) into a
string.