开发者

How to get epoch time in shell script (for ksh)?

How to get epoch time in shell script (for ksh)? I am interested in getting 开发者_如何学Cepoch time for the start of day (so e.g. now is July 28th, 2011 ~ 14:25:00 EST, I need time at midnight).


If you have GNU date,

epoch=$( date -d 00:00 +%s )

Otherwise, if you have tclsh,

epoch=$( echo 'puts [clock scan 00:00]' | tclsh )

Otherwise,

epoch=$( perl -MTime::Local -le 'print timelocal(0,0,0,(localtime)[3..8])' )


ksh's printf '%(fmt)T' supports time calculating. For example:

$ printf '%T\n' now
Mon Mar 18 15:11:46 CST 2013
$ printf '%T\n' '2 days ago'
Sat Mar 16 15:11:55 CST 2013
$ printf '%T\n' 'midnight today'
Mon Mar 18 00:00:00 CST 2013
$
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜