技术饭

mongodb 时间与_id相互转换

copylian    0 评论    2762 浏览    2024.06.18

mongodb 时间与_id相互转换,ObjectId() 方法可直接生成当前时间的_id,也可以给方法 ObjectId() 传参生成对应的_id,可通过 getTimestamp() 方法获取时间戳,其中时间转成 utc时间,时间戳需要乘以1000

p(date('Y-m-d H:i:s',(new MongoDB\BSON\ObjectId())->getTimestamp()));


$x = new ObjectId(bin2hex(pack('N', strtotime('2024-06-17 11:11:11') - 0 * 86400)).'0000000000000000');

$y = new ObjectId(bin2hex(pack('N', strtotime('2024-06-17 12:12:12') - 0 * 86400)).'0000000000000000');

p($x);

p($y);

p(date('Y-m-d H:i:s',$y->getTimestamp()));


执行结果:

2024-06-18 09:43:13


MongoDB\BSON\ObjectId Object

(

    [oid] => 666fa94f0000000000000000

)


MongoDB\BSON\ObjectId Object

(

    [oid] => 666fb79c0000000000000000

)


2024-06-17 12:12:12


时间转成UTC时间

new UTCDateTime(strtotime($arrivedDatetime) * 1000)

只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!
mongodb _id getTimestamp 

文明上网理性发言!

  • 还没有评论,沙发等你来抢