实用的monodb ObjectID列转为时间的脚本

这几天发现mongodb 自动生成的_id 列包含了很多信息,其中前8位数是数据插入的时间,比较好玩,为了能查询数据插入时间(当然在保存对象里可以增加个时间列作为业务需要用),动手写了shell脚本,代码如下:

 1  # !/bin/sh
 2  # mongodb 数据插入数据库时间转换计算2012.5.21 lg 
 3   dateStr= " $1 "
 4 
 5  if [ -z  " $dateStr " ];then
 6     echo  " 输入错误,不能为空... "
 7      exit  1
 8 fi
 9 
10  strLen=${ # dateStr}
11 
12  #$strLen>8 || echo "长度不能小于8" &&  exit 1 
13 
14  if [  $strLen -lt  8 ];then
15     echo  " 长度不能小于8 "
16      exit  1
17 fi
18 
19  # dateConvert()
20  #{
21  #value=$1
22  #dateStrFormat=${value:0:8}
23  #(date16to10=(16#$dateStrFormat))
24  #}
25 
26 dateStrFormat=${dateStr: 0: 8}
27 
28 dateInt=$(( 16 # $dateStrFormat))
29  [ $? -gt  0 ] &&  exit  3
30 returnValue=`date -d  " 1970-01-01 UTC $dateInt sec " + " %Y-%m-%d %H:%M:%S "`
31 
32 echo  " 结果为:$returnValue "
33  exit $?

脚本很短,呵呵。运行时,把mongodb _id 作为参数即可,结果如图:

 

 

你可能感兴趣的:(object)