AWK 時間函式



AWK 具有以下內建時間函式:

systime

此函式返回當天的時間,表示自紀元(POSIX 系統上的 1970-01-01 00:00:00 UTC)以來的秒數。

示例

[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 小時制相關的 AM/PM 指定。

21

%r

區域設定的 12 小時制時間。(在 C 區域設定中為 %I:%M:%S %p。)

22

%R

等效於指定 %H:%M。

23

%S

秒,以十進位制數表示 (00–60)。

24

%t

製表符。

25

%T

等效於指定 %H:%M:%S。

26

%u

星期幾,以十進位制數表示 (1–7)。星期一是一天。

27

%U

一年中的星期數(第一個星期日為第一週的第一天),以十進位制數表示 (00–53)。

28

%V

一年中的星期數(第一個星期一為第一週的第一天),以十進位制數表示 (01–53)。

29

%w

星期幾,以十進位制數表示 (0–6)。星期日是零天。

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

時區名稱或縮寫;如果沒有確定時區,則無字元。

awk_built_in_functions.htm
廣告