test_bsonjs.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:python-bsonjs 作者: mongodb-labs 项目源码 文件源码
def test_datetime(self):
        # only millis, not micros
        self.round_trip({"date": datetime.datetime(2009, 12, 9, 15,
                                                   49, 45, 191000, utc)})

        jsn = '{"dt": { "$date" : "1970-01-01T00:00:00.000+0000"}}'
        self.assertEqual(EPOCH_AWARE, bsonjs_loads(jsn)["dt"])
        jsn = '{"dt": { "$date" : "1970-01-01T00:00:00.000Z"}}'
        self.assertEqual(EPOCH_AWARE, bsonjs_loads(jsn)["dt"])
        # No explicit offset or timezone is not supported by libbson
        jsn = '{"dt": { "$date" : "1970-01-01T00:00:00.000"}}'
        self.assertRaises(ValueError, bsonjs_loads, jsn)
        # Localtime behind UTC
        jsn = '{"dt": { "$date" : "1969-12-31T16:00:00.000-0800"}}'
        self.assertEqual(EPOCH_AWARE, bsonjs_loads(jsn)["dt"])
        # Localtime ahead of UTC
        jsn = '{"dt": { "$date" : "1970-01-01T01:00:00.000+0100"}}'
        self.assertEqual(EPOCH_AWARE, bsonjs_loads(jsn)["dt"])

        dtm = datetime.datetime(1, 1, 1, 1, 1, 1, 0, utc)
        jsn = '{"dt": {"$date": -62135593139000}}'
        self.assertEqual(dtm, bsonjs_loads(jsn)["dt"])
        jsn = '{"dt": {"$date": {"$numberLong": "-62135593139000"}}}'
        self.assertEqual(dtm, bsonjs_loads(jsn)["dt"])
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号