我在从python向sqlserver数据类型datetimeoffset上传时区感知的datetime时遇到问题。你知道吗
无论哪个时区上传到SQL Server,它总是以系统时间偏移量显示偏移量。它不转换实际日期时间,只更改偏移量。你知道吗
datetime = datetime.datetime.now(tz=pytz.timezone('UTC'))
timeString = datetime.strftime("%Y-%m-%d %H:%M:%S%z")
timeData = {'datetimeOFFSET':datetime, 'datetime':datetime, 'datetimeString':timeString}
df = pd.DataFrame(data=timeData, index = np.array([1]))
python中的数据帧:
datetimeOFFSET datetime datetimeString
2019-12-30 10:29:07.913715+00:00 2019-12-30 10:29:07.913715+00:00 2019-12-30 10:29:07+0000
sql server中的结果:
我想要的是datetimeOFFSET列显示右偏移(+00:00),而不是系统偏移(+01:00)。你知道吗
你试过这个选项吗?你知道吗
SQLAlchemy中的
datetimeoffset
处理最近有了一些改进(如“今早”)。它们将包含在下一个版本(可能是1.3.13)中,但在此期间,请尝试从1.3.x分支的最新源安装。。。你知道吗。。。看看这对你是否更有效。你知道吗
编辑:
经进一步调查,问题似乎出在
to_sql
。如果数据帧包含一行,则时区偏移丢失:但是,如果DataFrame包含多行,则会正确上载datetimeoffset值:
如果你真的对此有强烈的感觉,你可能想对此提出一个pandas issue。你知道吗
相关问题 更多 >
编程相关推荐