gpt4 book ai didi

python - 类型错误 : can't compare offset-naive and offset-aware datetimes

转载 作者:行者123 更新时间:2023-11-29 03:48:08 25 4
gpt4 key购买 nike

托管我的db 的服务器位于美国。当我向 db 添加项目时,我希望使用 Australia/Sydney 时间存储时间。无论用户在哪个国家/地区,如果他们检索此记录,都应使用 Australia/Sydney 时间返回。目前我正在这样做:

tz = pytz.timezone('Australia/Sydney')
orderDate = datetime.now(tz)
return add_order_to_db(orderID, orderDate, orderCost) # Adds an ORDER object to db

当我想更新上述 ORDER 对象的 orderDate 时,问题就出现了。

tz = pytz.timezone('Australia/Sydney')
orderDate = datetime.now(tz)

with contextlib.closing(DBSession()) as session:
try:
existingOrder = session.query(ORDER).filter_by(ORDERSID=orderID).first()
existingOrder.ORDERSDATE = orderDate
session.commit()
except exc.SQLAlchemyError, error:
session.rollback()
raise_database_error(error)

ORDER 对象

class ORDER(Base):
__tablename__ = 'ORDERS'

ORDERSID = Column(Integer, primary_key=True)
ORDERSDATE = Column(DateTime, nullable=False)
ORDERSCOST = Column(Numeric(19, 4), nullable=False)

mySQL中,ORDERSDATE是一个Datetime变量。

最佳答案

通过仅将偏移应用于当前 UTC 时间来保留 datetime 对象的原始偏移性质如何?

 tz = pytz.timezone('Australia/Sydney')
orderDate = datetime.datetime.now() + tz._utcoffset

关于python - 类型错误 : can't compare offset-naive and offset-aware datetimes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29552260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com