Advertisement

Mongodb中的ObjectId将转换为标准时间(JavaScript和Python的实现方案)

阅读量:

算法:截取id的前八位字符,将其从16进制转换为10进制数值,随后乘以1000进行计算

  • Javascript实现
复制代码
    function time2id(time) {
    return mongoose.Types.ObjectId((~~(+time/1000)).toString(16) + '0'.repeat(16));
    }
    function id2time(id) {
    return new Date(parseInt(id.toString().substring(0, 8), 16) * 1000);
    }
    
    > id2time("5b6907878e3f488d10cd2f36")
    < Tue Aug 07 2018 10:44:23 GMT+0800 (中国标准时间)
    
    
      
      
      
      
      
      
      
      
      
      
    
  • Python技术方案的实施
复制代码
    def id2time(object_id):
    timeStamp = int(object_id[:8], 16)
    return time.strftime("%Y-%m-%d

全部评论 (0)

还没有任何评论哟~