sql >> Database >  >> NoSQL >> MongoDB

Selecteer op basis van tijdstempel en update tijdstempel met nul

ISODate() wordt weergegeven als een datetime object van PyMongo. MongoDB gaat ervan uit dat datums en tijden in UTC zijn. Er zijn verschillende manieren om middernacht (begin van een dag) te krijgen voor een bepaalde UTC-tijd d :

>>> from datetime import datetime, time, timedelta
>>> d = datetime(2015, 10, 13, 1, 4, 30, 515000)
>>> datetime(d.year, d.month, d.day) # @user3100115' answer
datetime.datetime(2015, 10, 13, 0, 0)   # 369 ns
>>> datetime.fromordinal(d.toordinal()) # 451 ns
datetime.datetime(2015, 10, 13, 0, 0)
>>> datetime.combine(d, time.min)       # 609 ns
datetime.datetime(2015, 10, 13, 0, 0)
>>> d - (d - d.min) % timedelta(days=1) # Python 3
datetime.datetime(2015, 10, 13, 0, 0)   # 1.87 µs
>>> datetime(*d.timetuple()[:3])
datetime.datetime(2015, 10, 13, 0, 0)   # 2.34 µs
>>> from calendar import timegm
>>> datetime.utcfromtimestamp((timegm(d.timetuple()) // 86400) * 86400) # POSIX
datetime.datetime(2015, 10, 13, 0, 0)   # 4.72 µs


  1. Zoeken in volledige tekst in MongoDB

  2. Waarom gooit PyMongo AutoReconnect?

  3. MongoDB-tabelontwerp en queryprestaties

  4. Hoe {document}.Id wordt niet ondersteund fout op te lossen