checkMonth() {
month=$1
case $month in
*"Jan"*) newMonth=${month/Jan/01};;
*"Feb"*) newMonth=${month/Feb/02};;
*) newMonth=$month
esac
echo $newMonth
}
month1=`checkMonth "11/Jan/2016:12:12:12"`
echo "${month1:6:4} ${month1:3:2} ${month1:0:2} ${month1:11:5}"
------------------------------------------------------------------------------------------------------------------------
其实一条命令可以实现上面的
strDate="12/dec/2010:10:11:25"
date -d "`echo $strDate | sed 's/\// /g' | sed 's/:/ /'`" '+%Y %m %d %H:%M:%S'
------------------------------------------------------------------------------------------------------------------
时间计算函数
function milliseconds2date {
echo "$1" | awk '{
i=$1; ms=i%1000; i=int(i/1000); ss=i%60; i=int(i/60); nn=i%60; i=int(i/60); hh=i%24; dd=int(i/24);
i=int(i/24);
a=i+2472632; b=int((4*a+3)/146097); c=int((-b*146097)/4)+a;
d=int((4*c+3)/1461); e=int((-1461*d)/4)+c; m=int((5*e+2)/153);
dd=-int((153*m+2)/5)+e+1; mm=int(-m/10)*12+m+3; yy=b*100+d-4800+int(m/10);
printf ("%4d-%02d-%02d %02d:%02d:%02d.%03d\n",yy,mm,dd,hh,nn,ss,ms)
}'
}