mongo数据入库时间格式设置

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 mongo数据入库时间格式设置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

        在 MongoDB 中,可以使用 BSON(Binary JSON)格式存储日期和时间数据。BSON 是一种二进制编码格式,可以在 MongoDB 中高效地存储和检索数据。

        要将日期和时间数据存储为 BSON 格式,可以使用 Python 中的 datetime 模块来生成 datetime 对象,并将其传递给 bson.datetime.datetime() 方法。例如:

import bson
from datetime import datetime

# 创建一个 datetime 对象
now = datetime.now()
print(now)

# 将 datetime 对象转换为 BSON 格式
bson_datetime = bson.datetime.datetime(now.year, now.month, now.day, now.hour, now.minute, now.second)
print(bson_datetime)

运行结果:

mongo数据入库时间格式设置

写入mongo测试:

from pymongo import MongoClient
import bson
from datetime import datetime

my_client = MongoClient('mongodb://root:88888888@192.168.124.49:27017')
my_db = my_client['test-mongo']
# print(my_db)
my_col = my_db['test_time']
# print(my_col)

# 创建一个 datetime 对象
now = datetime.now()
print(now)

# 将 datetime 对象转换为 BSON 格式
bson_datetime = bson.datetime.datetime(now.year, now.month, now.day, now.hour, now.minute, now.second)
print(bson_datetime)

dic = {'time': bson_datetime}
data = my_col.insert_one(dic)
print(data)

效果展示:

mongo数据入库时间格式设置

mongo数据入库时间格式设置

        如果您希望以特定的日期和时间格式存储数据,可以在创建 datetime 对象时使用 strftime() 方法指定格式化字符串。例如:

import bson
from datetime import datetime

# 创建一个 datetime 对象
now = datetime.now()
print(now)

# 将 datetime 对象转换为 BSON 格式, 并使用特定的日期和时间格式
bson_datetime = bson.datetime.datetime.strptime(now.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
print(bson_datetime)

运行 结果: 

mongo数据入库时间格式设置

        在上述代码中,strftime() 方法用于将 datetime 对象转换为指定的日期和时间格式(例如:’%Y-%m-%d %H:%M:%S’),然后在 strptime() 方法中将其解析为 datetime 对象。

写入mongo测试:

from pymongo import MongoClient
import bson
from datetime import datetime

my_client = MongoClient('mongodb://root:88888888@192.168.124.49:27017')
my_db = my_client['test-mongo']
# print(my_db)
my_col = my_db['test_time']
# print(my_col)

# 创建一个 datetime 对象
now = datetime.now()
print(now)

# 将 datetime 对象转换为 BSON 格式, 并使用特定的日期和时间格式
bson_datetime = bson.datetime.datetime.strptime(now.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
print(bson_datetime)

dic = {'time': bson_datetime}
data = my_col.insert_one(dic)
print(data)

效果展示:

mongo数据入库时间格式设置

mongo数据入库时间格式设置

        需要注意的是,在 MongoDB 中,日期和时间数据存储为 UTC 时区,因此在将数据存储到数据库中之前,应该将其转换为 UTC 时区。您可以使用 pytz 模块来实现时区转换。例如:

import bson
import pytz
from datetime import datetime

# 创建一个 datetime 对象
now = datetime.now()
print(now)

# 将本地时间转换为 UTC 时间
local_timezone = pytz.timezone('Asia/Shanghai')  # 设置本地时区
local_datetime = local_timezone.localize(now)  # 确定本地时间的时区
utc_timezone = pytz.timezone('UTC')  # 设置目标时区为 UTC
utc_datetime = local_datetime.astimezone(utc_timezone)  # 将本地时间转换为 UTC 时间
print(local_timezone)
print(local_datetime)
print(utc_timezone)
print(utc_datetime)

# 将 UTC datetime 对象转换为 BSON 格式,并存储到 MongoDB 中
bson_datetime = bson.datetime.datetime(utc_datetime.year, utc_datetime.month, utc_datetime.day, utc_datetime.hour, utc_datetime.minute, utc_datetime.second)
print(bson_datetime)

运行结果:

mongo数据入库时间格式设置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142725.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!