AWK 时间函数
AWK具有以下内置的时间函数−
systime
此函数以从纪元(1970-01-01 00:00:00 UTC,POSIX系统上)以来的秒数的形式返回当天的当前时间。
示例
[jerry]$ awk 'BEGIN {
print "Number of seconds since the Epoch = " systime()
}'
在执行此代码时,您将获得以下结果:
输出
Number of seconds since the Epoch = 1418574432
mktime(datespec)
此函数将 datespec 字符串转换为与systime()返回的相同格式的时间戳。datespec是一个形式为 YYYY MM DD HH MM SS 的字符串。
示例
[jerry]$ awk 'BEGIN {
print "Number of seconds since the Epoch = " mktime("2014 12 14 30 20 10")
}'
执行此代码,您将获得以下结果−
输出
Number of seconds since the Epoch = 1418604610
strftime([format [, timestamp[, utc-flag]]])
此函数根据format中的规范格式化时间戳。
示例
[jerry]$ awk 'BEGIN {
print strftime("Time = %m/%d/%Y %H:%M:%S", systime())
}'
执行此代码后,您将获得以下结果 –
输出
Time = 12/14/2014 22:08:42
下面的时间格式由AWK支持 –
| 序号 | 日期格式规范和描述 |
|---|---|
| 1 | %a 地区的缩写星期名称。 |
| 2 | %A 地区的完整星期名称。 |
| 3 | %b 地区的缩写月份名称。 |
| 4 | %B 地区的完整月份名称。 |
| 5 | %c 地区合适的日期和时间表示。(在C地区,这是%A %B %d %T %Y。) |
| 6 | %C 当前年份的世纪部分。这是年份除以100并截断到下一个更低的整数。 |
| 7 | %d 以十进制数表示的一个月中的天数(01–31)。 |
| 8 | %D 相当于指定%m/%d/%y。 |
| 9 | %e 一个月中的天数,如果只有一个数字,则左侧填充空格。 |
| 10 | %F 相当于指定%Y-%m-%d。这是ISO 8601日期格式。 |
| 11 | %g ISO 8601周数的年份除以100的余数,以十进制数表示(00–99)。 例如,1993年1月1日属于1992年的第53周。因此,它的ISO 8601周数的年份为1992,尽管它的实际年份是1993。 同样地,1973年12月31日属于1974年的第1周。因此,它的ISO周数的年份为1974,尽管它的实际年份是1973年。 |
| 12 | %G 表示ISO周数的完整年份,以十进制数表示。 |
| 13 | %h 等同于 %b。 |
| 14 | %H 以十进制数表示的小时数(24小时制,00–23)。 |
| 15 | %I 以十进制数表示的小时数(12小时制,01–12)。 |
| 16 | %j 以十进制数表示的一年中的第几天(001–366)。 |
| 17 | %m 以十进制数表示的月份(01–12)。 |
| 18 | %M 以十进制数表示的分钟数(00–59)。 |
| 19 | %n 一个换行符(ASCII LF)。 |
| 20 | %p 区域设置中对应于12小时制的上午/下午标识。 |
| 21 | %r 区域设置中的12小时制的时间。(在C语言环境中为 %I:%M:%S %p) |
| 22 | %R 等同于指定 %H:%M。 |
| 23 | %S 秒数的十进制数表示(00-60)。 |
| 24 | %t 一个制表符(TAB字符)。 |
| 25 | %T 等同于指定 %H:%M:%S。 |
| 26 | %u 星期几的十进制数表示(1-7),星期一是第一天。 |
| 27 | %U 一年中的周数(以第一个星期日作为第一周的第一天),以小数表示(00–53)。 |
| 28 | %V 一年中的周数(以第一个星期一作为第一周的第一天),以小数表示(01–53)。 |
| 29 | %w 星期几,以小数表示(0–6)。星期日为0。 |
| 30 | %W 一年中的周数(以第一个星期一作为第一周的第一天),以小数表示(00–53)。 |
| 31 | %x 当地适当的日期表示。(在C地区为%A %B %d %Y)。 |
| 32 | %X 区域适当的时间表示形式。(在C区域中为%T)。 |
| 33 | %y 年份取模100,十进制数(00–99)。 |
| 34 | %Y 完整的年份,十进制数(如2011)。 |
| 35 | %z 以+HHMM格式表示的时区偏移量(如,生成RFC 822/RFC 1036日期头所需的格式)。 |
| 36 | %Z 时区的名称或缩写;如果无法确定时区,则没有字符。 |
极客教程