このコマンドは秒数を計算します:
$ awk 'BEGIN{ "date -d \"12:50:57\" +%s" | getline; print }'
1352893857
「strftime」と「systime()」で同じことを行う方法は?:
$ gawk 'BEGIN{print strftime("12:50:57", systime())}'
12:50:57
ご協力ありがとうございました。
このコマンドは秒数を計算します:
$ awk 'BEGIN{ "date -d \"12:50:57\" +%s" | getline; print }'
1352893857
「strftime」と「systime()」で同じことを行う方法は?:
$ gawk 'BEGIN{print strftime("12:50:57", systime())}'
12:50:57
ご協力ありがとうございました。
できません。strftime()
関数は指定されたタイムスタンプのみをフォーマットし、関数systime()
は現在のタイムスタンプのみを返します。関数について考えていると思いますがmktime()
、年、月、日を知る必要があります。
awk 'BEGIN { print mktime("2012 11 14 12 50 57") }'
結果:
1352861457
GNU awk
の時間関数について詳しくは、こちらをご覧ください。HTH。
$ 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