63 lines
2.4 KiB
Awk
63 lines
2.4 KiB
Awk
# getlocaltime.awk --- get the time of day in a usable format
|
|
#
|
|
# Arnold Robbins, arnold@skeeve.com, Public Domain, May 1993
|
|
#
|
|
|
|
# Returns a string in the format of output of date(1)
|
|
# Populates the array argument time with individual values:
|
|
# time["second"] -- seconds (0 - 59)
|
|
# time["minute"] -- minutes (0 - 59)
|
|
# time["hour"] -- hours (0 - 23)
|
|
# time["althour"] -- hours (0 - 12)
|
|
# time["monthday"] -- day of month (1 - 31)
|
|
# time["month"] -- month of year (1 - 12)
|
|
# time["monthname"] -- name of the month
|
|
# time["shortmonth"] -- short name of the month
|
|
# time["year"] -- year modulo 100 (0 - 99)
|
|
# time["fullyear"] -- full year
|
|
# time["weekday"] -- day of week (Sunday = 0)
|
|
# time["altweekday"] -- day of week (Monday = 0)
|
|
# time["dayname"] -- name of weekday
|
|
# time["shortdayname"] -- short name of weekday
|
|
# time["yearday"] -- day of year (0 - 365)
|
|
# time["timezone"] -- abbreviation of timezone name
|
|
# time["ampm"] -- AM or PM designation
|
|
# time["weeknum"] -- week number, Sunday first day
|
|
# time["altweeknum"] -- week number, Monday first day
|
|
|
|
function getlocaltime(time, ret, now, i)
|
|
{
|
|
# get time once, avoids unnecessary system calls
|
|
now = systime()
|
|
|
|
# return date(1)-style output
|
|
ret = strftime("%a %b %e %H:%M:%S %Z %Y", now)
|
|
|
|
# clear out target array
|
|
delete time
|
|
|
|
# fill in values, force numeric values to be
|
|
# numeric by adding 0
|
|
time["second"] = strftime("%S", now) + 0
|
|
time["minute"] = strftime("%M", now) + 0
|
|
time["hour"] = strftime("%H", now) + 0
|
|
time["althour"] = strftime("%I", now) + 0
|
|
time["monthday"] = strftime("%d", now) + 0
|
|
time["month"] = strftime("%m", now) + 0
|
|
time["monthname"] = strftime("%B", now)
|
|
time["shortmonth"] = strftime("%b", now)
|
|
time["year"] = strftime("%y", now) + 0
|
|
time["fullyear"] = strftime("%Y", now) + 0
|
|
time["weekday"] = strftime("%w", now) + 0
|
|
time["altweekday"] = strftime("%u", now) + 0
|
|
time["dayname"] = strftime("%A", now)
|
|
time["shortdayname"] = strftime("%a", now)
|
|
time["yearday"] = strftime("%j", now) + 0
|
|
time["timezone"] = strftime("%Z", now)
|
|
time["ampm"] = strftime("%p", now)
|
|
time["weeknum"] = strftime("%U", now) + 0
|
|
time["altweeknum"] = strftime("%W", now) + 0
|
|
|
|
return ret
|
|
}
|