2

このコマンドは秒数を計算します:

$ awk 'BEGIN{ "date -d \"12:50:57\" +%s" | getline; print }' 
1352893857 

「strftime」と「systime()」で同じことを行う方法は?:

$ gawk 'BEGIN{print strftime("12:50:57", systime())}' 
12:50:57 

ご協力ありがとうございました。

4

2 に答える 2

3

できません。strftime()関数は指定されたタイムスタンプのみをフォーマットし、関数systime()は現在のタイムスタンプのみを返します。関数について考えていると思いますがmktime()、年、月、日を知る必要があります。

awk 'BEGIN { print mktime("2012 11 14 12 50 57") }'

結果:

1352861457

GNU awkの時間関数について詳しくは、こちらをご覧ください。HTH。

于 2012-11-14T08:08:46.210 に答える
1
$ awk 'BEGIN{print mktime(strftime("%Y %m %d 12 50 57"))}'
1352919057
$ awk 'BEGIN{print mktime(strftime("%Y %m %d " gensub(/:/," ","g","12:50:57")))}'
1352919057
于 2012-11-14T13:17:11.230 に答える