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 回答