时间戳格式转换:
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,即北京时间
阅读(1891) | 评论(0) | 转发(0) |