Quantcast
Viewing latest article 10
Browse Latest Browse All 26

Day 003 - Timezone aware datetime in mongodb using pymongo

MongoDB stores dates in UTC timezone by default. This makes it possible to do timezone conversion to be done in both client side side or server side.

dependancies

$ pip install pytz pymongo

code

from pymongo import MongoClient
from datetime import datetime
from bson.codec_options import CodecOptions
import pytz

client = MongoClient('mongodb://localhost:27017/')
db = client['test_db']
timezone = pytz.timezone('Asia/Calcutta')

## insert a document with createdat
insert_doc = db.playground.insert_one({"createdat": datetime.utcnow()})


playground_collection = db.playground.with_options(codec_options=CodecOptions(tz_aware=True, tzinfo=timezone))
document = playground_collection.find_one()

# Timezone aware datetime
print(document)
# prints 'createdat': datetime.datetime(2018, 1, 6, 9, 49, 50, 35000, tzinfo=<DstTzInfo 'Asia/Calcutta' IST+5:30:00 STD>)


Viewing latest article 10
Browse Latest Browse All 26

Trending Articles