如何将Python的.isoformat()字符串转换回日期时间对象[重复]

2024-01-02

因此,在 Python 3 中,您可以使用 .isoformat() 生成 ISO 8601 日期,但无法将 isoformat() 创建的字符串转换回日期时间对象,因为 Python 自己的日期时间指令不正确匹配。也就是说,%z = 0500 而不是 05:00(由 .isoformat() 生成)。

例如:

>>> strDate = d.isoformat()
>>> strDate
'2015-02-04T20:55:08.914461+00:00'

>>> objDate = datetime.strptime(strDate,"%Y-%m-%dT%H:%M:%S.%f%z")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\Lib\_strptime.py", line 500, in _strptime_datetime
    tt, fraction = _strptime(data_string, format)
  File "C:\Python34\Lib\_strptime.py", line 337, in _strptime
    (data_string, format))
ValueError: time data '2015-02-04T20:55:08.914461+00:00' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'

来自 Python 的 strptime 文档:(https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior)

%z UTC 偏移量,格式为 +HHMM 或 -HHMM(如果为空字符串) 对象是幼稚的)。 (空)、+0000、-0400、+1030

因此,简而言之,Python 甚至不遵守自己的字符串格式指令。

我知道 Python 中的日期时间已经很糟糕了,但这确实超出了不合理的范围,进入了愚蠢的境地。

告诉我这不是真的。


Python 3.7+

从Python 3.7开始有一个方法datetime.fromisoformat()这正好相反isoformat().

老蟒蛇

如果您使用较旧的 Python,那么这是当前此问题的最佳“解决方案”:

pip install python-dateutil

Then...

import datetime
import dateutil

def getDateTimeFromISO8601String(s):
    d = dateutil.parser.parse(s)
    return d
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将Python的.isoformat()字符串转换回日期时间对象[重复] 的相关文章

  • boto3 资源(例如 DynamoDB.Table)的类型注释

    The boto3库提供了几种返回资源的工厂方法 例如 dynamo boto3 resource dynamodb Table os environ DYNAMODB TABLE 我想注释这些资源 以便我可以获得更好的类型检查和完成 但我
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 当我在 Pandas 中使用 df.corr 时,我的一些列丢失了

    这是我的代码 import numpy as np import pandas as pd import seaborn as sns import matplotlib pyplot as plt data pd read csv dea
  • 在 macOS 中通过 Python 访问进程的压缩 RAM(顶部的 CMPRS)的方法?

    我试图弄清楚如何从 Python 访问任何给定进程占用的实际 RAM 量 我发现 psutil Process PID memory info rss 工作得很好 直到操作系统决定开始压缩某些进程的 RAM 然后 所有的 memory in
  • Python Fabric - 未找到主机。请指定用于连接的(单个)主机字符串:

    如何获取 找不到主机 请指定用于连接的 单个 主机字符串 面料如何解决 def bootstrap host ec2 54 xxx xxx xxx compute 1 amazonaws com env hosts host env use
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • Apache Spark 中的高效字符串匹配

    我使用 OCR 工具从屏幕截图中提取文本 每个大约 1 5 句话 然而 当手动验证提取的文本时 我注意到时不时会出现一些错误 鉴于文本 你好 我真的很喜欢 Spark 我注意到 1 像 I 和 l 这样的字母被 替换 2 表情符号未被正确提
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • 具有屏蔽无效值的 pcolormesh

    我试图将一维数组绘制为 pcolormesh 因此颜色沿 x 轴变化 但每个 x 的 y 轴保持不变 但我的数据有一些错误值 因此我使用屏蔽数组和自定义颜色图 其中屏蔽值设置为蓝色 import numpy as np import mat
  • 如何将回溯/sys.exc_info() 值保存在变量中?

    我想将错误名称和回溯详细信息保存到变量中 这是我的尝试 import sys try try print x except Exception ex raise NameError except Exception er print 0 s
  • 检测 IDLE 的存在/如何判断 __file__ 是否未设置

    我有一个脚本需要使用 file 所以我了解到 IDLE 没有设置这个 有没有办法从我的脚本中检测到 IDLE 的存在 if file not in globals file is not set 如果你想做一些特别的事情 file 未设置
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • 更改 Python Cmd 模块处理自动完成的方式

    我有一个 Cmd 控制台 设置为自动完成 Magic the Gathering 收藏管理系统的卡牌名称 它使用文本参数在数据库中查询卡片 并使用结果自动完成 建议卡片 然而 这些卡片名称有多个单词 Cmd 会从last到行尾的空间 例如
  • Django 模型:如何使用 mixin 类来覆盖 django 模型以实现 save 等功能

    我想在每次保存模型之前验证值 所以 我必须重写保存函数 代码几乎是一样的 我想把它写在 mixin 类中 但失败了 我不知道如何写 super func 我英语不好 抱歉 class SyncableMixin object def sav
  • 如何为所有用户安装 Anaconda python?

    Anaconda python 发行版 https store continuum io cshop anaconda 非常方便地部署科学计算环境 SCE 并根据需要切换python版本 默认情况下 安装会将 python 定位到 anac
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • Java 重写 hashCode() 方法有任何性能问题吗?

    如果我会覆盖hashCode 方法会降低应用程序的性能 我在应用程序的许多地方重写了这个方法 是的 如果 hashCode 方法的实现方式不好 则可能会降低散列集合的性能 hashCode 方法的最佳实现应该为唯一对象生成唯一的 hashC
  • Android webview 中的缓存

    Android webview中加载移动网页和非移动网页哪一种更快 加载缓存还是根本不加载 加载它的推荐样式是什么 现在 当我不在所有非移动网站上加载缓存时 加载速度比在本机浏览器中加载它们时要慢得多 不要使用这些 viewer getSe
  • Rails 使用什么 Ruby 技术来使我的控制器方法呈现视图?

    只是好奇是否有人知道在 Rails 框架中使用什么 Ruby 技术来完成以下任务 如果我不写 比如说 index方法在 Rails 控制器上 如果 URL 与该路由匹配 Rails 仍将呈现索引视图文件 这是有道理的 因为我的控制器继承自父
  • 对 C# 类中的属性进行排序

    我们需要解析的文件格式如下 v1 000 sammy endpoint blah 它是供应商向我们提供的有序固定宽度格式 因此这 5 个字段中的每一个都映射到类中的特定属性 实际格式有 gt 30 我想通过将序列应用于属性来使用反射来解析它
  • pandas:基于开始/结束日期的聚合

    它实际上是一个反聚合 因为我有一个这样构造的数据集 id type first year last year A t1 2009 2014 A t1 2010 2015 B t1 2007 2009 B t2 2008 2011 但我需要按
  • 处理 DDD 中的嵌套聚合

    我刚刚开始使用 DDD 并且在弄清楚如何适应数据的关系性质时遇到了一些困难 我拥有我相信会被视为我的聚合根的东西 但聚合也有它自己的聚合 不想违反德墨忒尔定律 我想知道我的想法是否错误 并希望一些 DDD 专家可以提供一些见解 我的聚合根是
  • 将 tibble 转换为带有列标题的数据框

    我从 Excel 工作表导入数据 如下所示 F4 Off lt readxl read xlsx myExcel xlsx sheet Offline col names TRUE range I1 L285 F4 Off F4 On lt
  • React - 替换 props.children 中的子组件

    正如在另一个中看到的question https stackoverflow com questions 32370994 how to pass props to this props children 可以使用 React Childr
  • Laravel - 使用哪个缓存驱动程序?

    这是我第一次处理缓存 尽管我浏览了 laravel 文档和其他各种网站以获取如何设置它的说明 但我仍然有点不知所措 不知道该使用哪个以及有什么不同缓存驱动程序可以 我当前的情况是 我有一个日程安排系统 您可以在其中创建本周课程的 pdf 文
  • 如何从电子中的 new BrowserWindow() 获取窗口对象?

    有没有办法重用窗口对象 这可能是必要的 因为相应的窗口可能是动态生成的 var electron require electron var app electron app var BrowserWindow electron Browse
  • 处理器在等待主内存读取时做什么

    假设 L1 和 L2 缓存请求导致未命中 处理器是否会停止运行 直到访问主内存为止 我听说过切换到另一个线程的想法 如果是的话 用什么来唤醒停滞的线程 现代 CPU 中会同时发生很多很多事情 当然 任何需要内存访问结果的事情都无法进行 但可
  • OpenCV+Eclipse+Android:错误org.opencv.video Video.java

    我一直在安装 OpenCV 这是教程 http docs opencv org doc tutorials introduction android binary package android binary package html 我阅
  • UWP:应用程序栏/命令栏中的图标大小

    我应该使用什么尺寸的图标应用栏 命令栏 https msdn microsoft com en us windows uwp controls and patterns app bars 我找不到东西磁贴和图标资源指南 https msdn
  • 如何更改ggplot2中图例标签上的科学记数法

    我编写此代码是为了创建地图 ggplot data Canada2015 Import 3 borders database world colour grey60 fill grey90 geom polygon aes x long y
  • 如何获取vim中当前正在比较的文件列表

    我正在编写一个 vim 插件 在其中我需要确定当前正在比较的所有文件 这就是那些diff已设置 我已经仔细阅读了手册 但找不到太多内容 是否有可能做到这一点 这个问题实际上与问题相关如何检测 vim 中窗口的位置 https stackov
  • Zend2 控制器中的 PHPExcel

    我正在尝试让 PHPExcel 与 Zend2 一起使用 实际上它正在工作 但不符合我的预期 我可以写入文件 但不能在不保存的情况下下载 我找到了一些例子 你只需做这样的事情 objPHPExcel header Content Type
  • putty网络错误权限被拒绝如何解决

    我使用 PuTTy exe 作为 SSH 客户端 但 putty exe 不适用于 64 位 Windows 操作系统 它在 32 位 Win 操作系统下完美运行 问题 我是否犯了一些错误 如果是这样 你能帮忙吗 有没有可以在 32 位和
  • 为什么在 git diff 或 git status 之后,触摸文件的 git diff-index HEAD 结果会发生变化?

    If I touch在 git 存储库中跟踪的文件 然后运行git diff index HEAD 它将打印输出M表明文件已被修改 例如 touch foo git diff index HEAD 100644 100644 257cc56
  • 在 Pandas Dataframe 中查找多个字典键并返回多个匹配值

    第一次发帖 如果我的格式不对 请提前道歉 这是我的问题 我创建了一个 Pandas 数据框 其中包含多行文本 d keywords cheap shoes luxury shoes cheap hiking shoes keywords p
  • 如何将Python的.isoformat()字符串转换回日期时间对象[重复]

    这个问题在这里已经有答案了 因此 在 Python 3 中 您可以使用 isoformat 生成 ISO 8601 日期 但无法将 isoformat 创建的字符串转换回日期时间对象 因为 Python 自己的日期时间指令不正确匹配 也就是