将MongoDB时间转换为epoch时间- Python



我有一个mongodb时间作为objectid("5217a543dd99a6d9e0f74702")

如何在Python中将其转换为epoch时间。(UTC时区和EST时区)

ObjectId.generation_time给出了ObjectId生成的时间,以UTC表示:

>>> from bson import ObjectId
>>> ObjectId("5217a543dd99a6d9e0f74702").generation_time
datetime.datetime(2013, 8, 23, 18, 9, 7, tzinfo=<bson.tz_util.FixedOffset object at 0x102920c90>)

文档在这里。

要转换为东部时间,安装pytz和:

>>> import pytz
>>> ny = pytz.timezone('America/New_York')
>>> gt = ObjectId("5217a543dd99a6d9e0f74702").generation_time
>>> ny.normalize(gt.astimezone(ny))
datetime.datetime(2013, 8, 23, 14, 9, 7, tzinfo=<DstTzInfo 'America/New_York' EDT-1 day, 20:00:00 DST>)

您可以使用ObjectId.getTimestamp()方法获取objecd的时间戳部分作为Date。

一旦你有了Date对象,你就可以调用任何Date方法来得到你想要的。在shell中,您只需按TAB键即可获得允许的所有方法的列表:

> var myid = new ObjectId()
> myid
ObjectId("5331ba8163083f9b26efb5b3")
> var mytime = myid.getTimestamp()
> mytime
ISODate("2014-03-25T17:18:57Z")
> mytime.<TAB>
mytime.constructor            mytime.getUTCFullYear(
mytime.getDate(               mytime.getUTCHours(
mytime.getDay(                mytime.getUTCMilliseconds(
mytime.getFullYear(           mytime.getUTCMinutes(
mytime.getHours(              mytime.getUTCMonth(
mytime.getMilliseconds(       mytime.getUTCSeconds(
mytime.getMinutes(            mytime.getYear(
mytime.getMonth(              mytime.hasOwnProperty(
mytime.getSeconds(            mytime.propertyIsEnumerable(
mytime.getTime(               mytime.setDate(
mytime.getTimezoneOffset(     mytime.setFullYear(
mytime.getUTCDate(            mytime.setHours(
mytime.getUTCDay(             mytime.setMilliseconds(

注意:我不熟悉Python,但同样的概念适用于

相关内容

  • 没有找到相关文章

最新更新