从客户端的 mongo _id 中提取日期

Pull date from mongo _id on the client side

本文关键字:提取 取日期 id 客户端 mongo      更新时间:2023-09-26

我在客户端使用我的文档_id作为字符串。我希望能够在服务器上尽可能从此值中提取时间戳。是否可以在客户端重新创建此功能?(重新转换为 objectid,或创建一个独立的函数来拉取此数据)

示例_id: "4f94c2a11a6bbec3872cb315"

谢谢!

这个怎么样,分解成几个步骤...不幸的是,它只是存储在 ObjectID 中的第二解析时间。

var id = "4f94c2a11a6bbec3872cb315"​;
// first 4 bytes are the timestamp portion (8 hex chars)
var timehex = id.sub​string(0,8);
console.log(timehex); // gives: 4f94c2a1
// convert to a number... base 16
var secondsSinceEpoch = parseInt(timehex, 16);
console.log(secondsSinceEpoch); // gives: 1335149217
// convert to milliseconds, and create a new date
var dt = new Date(secondsSinceEpoch*1000);
console.log(dt);​ // gives: Sun Apr 22 2012 22:46:57 GMT-0400 (EDT)

如果你想测试,请参阅 jsfiddle:http://jsfiddle.net/pZdyM/

注意:这有点笨拙 - 它取决于当前的ObjectID格式。他们可能会有一天在 ObjectID 中移动时间戳,这会破坏这一点。