时间戳格式转换:
Linux:
返回从1970年1月1日开始到当前时间(不计闰年)的整秒数
[lmode@fjcsmcbn ~]$ date +%s -d "2010-07-21 00:00:00" 1279641600
[lmode@fjcsmcbn ~]$ awk 'BEGIN{tstamp=mktime("2010 07 21 00 00 00");print tstamp}' 1279641600
Solaris:由于solaris下,date非GNU;awk对函数扩展不同,只能编写函数
function date2seconds { echo "$*" | awk '{ z=int((14-$2)/12); y=$1+4800-z; m=$2+12*z-3;j=int((153*m+2)/5)+$3+y*365+int(y/4)-int(y/100)+int(y/400)-2472633;j=j*86400+$4*3600+$5*60+$6 print j }' }
date2seconds `echo "2010-07-21 00:00:00" | sed 's/-/ /g;s/:/ /g'`
1279670400 // 是GMT+8,即北京时间
时间:2011-10-25 17:30
来源:中国IT实验室
作者:中国IT实验室
原文链接