TIME(3am) GNU Awk Extension Modules TIME(3am)
NAME
time - time functions for gawk
SYNOPSIS
@load "time"
time = gettimeofday()
ret = sleep(amount)
timeval = strptime(string, format)
DESCRIPTION
The time extension adds three functions named gettimeofday() sleep(), and
stptrime(), as follows.
gettimeofday()
This function returns the number of seconds since the Epoch as a
floating-point value. It should have subsecond precision. It
returns -1 upon error and sets ERRNO to indicate the problem.
sleep(seconds)
This function attempts to sleep for the given amount of seconds,
which may include a fractional portion. If seconds is negative,
or the attempt to sleep fails, then it returns -1 and sets ERRNO.
Otherwise, the function should return 0 after sleeping for the
indicated amount of time.
time(3)
This function takes two arguments, a string representing a date
and time, and a format string describing the data in the string.
It calls the C library time(3) function with the given values.
If the parsing succeeds, the results are passed to the C library
time(3) function, and its result is returned, expressing the
time in seconds since the epoch in the current local timezone,
regardless of any timezone specified in the string arguments.
(This is the same as gawk's built-in time(3) function.)
Otherwise it returns -1 upon error. In the latter case, ERRNO
indicates the problem.
BUGS
The underlying time(3) C library routine apparently ignores any time
zone indication in the date string, producing values relative to the
current time zone. It might be better to have this routine return a
string similar to what gawk's time(3) function expects, but we ran out
of energy.
EXAMPLE
@load "time"
...
printf "It is now %g seconds since the Epoch\n", gettimeofday()
...
printf "Pausing for a while... " ; sleep(2.5) ; print "done"
...
format = "%b %d %H:%M:%S %Z %Y"
now = systime()
print now, "<" (result = strftime(format, now)) ">",
then = strptime(result, format)
print strftime(format, then)
SEE ALSO
GAWK: Effective AWK Programming, filefuncs(3), fnmatch(3), fork(3),
inplace(3), ordchr(3), readdir(3), readfile(3), revoutput(3),
rwarray(3).
time(3).
AUTHOR
Arnold Robbins, arnold@skeeve.com.
COPYING PERMISSIONS
Copyright (C) 2012, 2013, 2018, 2022, 2023, Free Software Foundation,
Inc.
Copyright (C) 2019, Arnold David Robbins.
Permission is granted to make and distribute verbatim copies of this
manual page provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual page under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual
page into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
Free Software Foundation Jan 16 2023 TIME(3am)
gawk 5.2.2 - Generated Wed May 10 15:34:56 CDT 2023
