当我将UNIX时间戳存储到MongoDB中时,我遇到了一个大问题,使我的DB很糟糕。下面是代码:
DBObject tmp = new BasicDBObject("_id", basicUrl+ob.getString("id"));//new a DBObject,it doesn't matter
Date date= new Date(1316410912);//1316410912 is a UNIX timestamp
tmp.put("created_at",date);
mg = new Mongo();
test=db.getCollection("qq");
test.insert(tmp);
完成添加过程,我打印出查询结果:
{ "_id" : "http://t.qq.com/p/t/163173122485971" , "created_at" : { "$date" : "1970-01-16T19:51:58.125Z"}}
但实际时间应该是"Mon Sep 19 2011 13:41:52"
请帮帮我,告诉我我的代码有什么问题
Date
的时间以毫秒为单位,而不是以秒为单位。
Date date= new Date(1316410912000l);
将产生正确的日期。
单位应该是毫秒,而不是秒。
Date(long date)
分配一个Date对象并初始化它以表示指定的日期自标准基准时间(称为"the")以来的毫秒数epoch",即1970年1月1日00:00:00 GMT。
你忘了Try小姐了
1316410912000l