python - Python中的日期格式,带有偏移量和小时和分钟
问题描述
我在 csv 文件中有如下日期,我想将其加载到具有相同格式的 avro 文件中,
日期值:
2020-01-29 21:08:53.0041 +00:00
我尝试转换的格式如下:
%d.%m.%Y %H:%M:%S.%f +%h:%m
在 avro 文件中加载为 null 。
我在 avro 中提到的架构如下:
{
"name": "requestdate",
"type": [
"null",
"long"
],
"default": null,
"logicalType": "timestamp-millis",
"doc": "requestdate"
有人可以帮我加载正确的格式吗
谢谢
解决方案
你可以使用datetime
strptime
方法。但是时区字段无效,因此您应该删除它的分号。您可以使用正则表达式来修复时区字段。
from datetime import datetime
import re
# example
dt = '2020-01-29 21:08:53.0041 +00:00'
# remove semicolon in timezone field
dt = re.sub(r"([+-]\d+):(\d+)$", r"\1\2", dt)
# parse
value = datetime.strptime(dt, '%Y-%m-%d %H:%M:%S.%f %z')
print(value)
输出
2020-01-29 21:08:53.004100+00:00
推荐阅读
- mysql - SQL 查询给出错误的结果
- r - 如何在 keras R 中使用特定的 GPU 设备进行学习?
- git - 仅恢复推送提交的单个文件
- appium-android - 无法使用 appium 自动化混合 Android 移动应用程序
- javascript - 无法使用 JSON 中的 chartjs 生成饼图
- java - 如何将数据从H2数据库导入elasticsearch?
- javascript - 通过包含 HTML 的变量来检查特定的单词
- python-3.x - Python 3 通过代码关闭 tkinter 消息框
- python - Python 多处理在连接时挂起
- c# - 比较单元测试中的两个列表