使用 strptime() 解析日期/时间字符串时如何保留时区?

2024-03-11

我有一个来自 Blackberry IPD 备份的 CSV 转储文件,是使用 IPDDump 创建的。 这里的日期/时间字符串看起来像这样 (在哪里EST是澳大利亚时区):

Tue Jun 22 07:46:22 EST 2010

我需要能够在 Python 中解析这个日期。起初,我尝试使用strptime()来自日期时间的函数。

>>> datetime.datetime.strptime('Tue Jun 22 12:10:20 2010 EST', '%a %b %d %H:%M:%S %Y %Z')

然而,由于某种原因,datetime返回的对象似乎没有任何tzinfo与之相关。

我确实读过这一页 http://www.enricozini.org/2009/debian/using-python-datetime/那显然datetime.strptime默默地丢弃tzinfo,但是,我检查了文档,但找不到任何相关记录here http://docs.python.org/library/datetime.html.

有什么办法可以得到strptime()与时区相处得很好?


我建议使用python-dateutil http://labix.org/python-dateutil。它的解析器已经能够解析到目前为止我向它抛出的每个日期格式。

>>> from dateutil import parser
>>> parser.parse("Tue Jun 22 07:46:22 EST 2010")
datetime.datetime(2010, 6, 22, 7, 46, 22, tzinfo=tzlocal())
>>> parser.parse("Fri, 11 Nov 2011 03:18:09 -0400")
datetime.datetime(2011, 11, 11, 3, 18, 9, tzinfo=tzoffset(None, -14400))
>>> parser.parse("Sun")
datetime.datetime(2011, 12, 18, 0, 0)
>>> parser.parse("10-11-08")
datetime.datetime(2008, 10, 11, 0, 0)

等等。不处理strptime()格式化废话......只需在其中添加一个日期,它就会做正确的事情。

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

使用 strptime() 解析日期/时间字符串时如何保留时区? 的相关文章

随机推荐

  • Android 应用程序的蓝牙连接自动断开

    我正在创建一个应用程序 它以编程方式与 Android 应用程序连接 BLE 设备 这是我的连接 断开连接代码 当用户单击 连接 按钮时 new Thread new Runnable Override public void run mC
  • 使用 SMTP 发送电子邮件 codeigniter

    我正在尝试使用 smtp codeigniter 发送电子邮件 我正在使用的代码如下 public function notify marketing config Array protocol gt smtp smtp host gt s
  • C# 中是否有 ShouldSerialize[PropertyName] 的替代方案?

    我最近一直在编写大量代码 其中涉及使用 Json NET 进行序列化 并且由于我序列化的数据的性质 有时并非所有属性都需要序列化 因此 我执行如下操作 public int Foo get set public bool ShouldSer
  • 好的 asp.net (C#) 应用程序? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 对于满足以下条件的优秀开源 asp net C 应用程序有什么建议吗 设计精良且多层次 干净且带注释的
  • Ruby:读取 PDF 文件

    我正在寻找一种快速可靠的方法来在 Ruby 在 Linux 和 OSX 上 中读取 解析大型 PDF 文件 直到现在我发现了相当古老和简单的PDF 工具包 http pdf toolkit rubyforge org a pdf转文本 ht
  • ASP.NET 5 Web 应用程序作为 Azure Web 角色?

    我们的解决方案中有一个 ASP NET 5 Web 应用程序 通常 我们可以右键单击云服务 角色 项 然后从解决方案中的现有项目添加新角色 但它无法将该项目标识为 Web 角色 我们如何能够在 Azure Web 角色中托管 ASP NET
  • 生成位置周围的随机坐标

    我想要一个函数 它接受地理位置 纬度 经度 并生成周围的随机坐标集 但也将这些参数作为计算的一部分 要制作的随机坐标数 生成半径 随机坐标之间的最小距离 以米为单位 用于生成其周围位置的根坐标 生成方式的示例 实现这一目标的好方法是什么 生
  • 使用环境变量的 Maven 本地存储库

    如何使用环境用户变量设置 标记 我尝试了这条路 myRepo repo 但它不起作用 myRepo C maven repo 我无法使用绝对路径来解决可移植性问题 但我可以将 myRepo 设置到每个系统上的正确位置 其中绝对路径可能会有所
  • 我可以在本地测试 AWS Glue 代码吗?

    阅读 Amazon 文档后 我的理解是运行 测试 Glue 脚本的唯一方法是将其部署到开发端点并在必要时进行远程调试 同时 如果 Python 代码由多个文件和包组成 则除了主脚本之外的所有文件和包都需要压缩 这一切让我感觉 Glue 不适
  • 如何使用与其文件扩展名关联的程序打开文件?

    有没有一种简单的方法可以在Windows中通过其关联程序打开文件 就像在 Windows 资源管理器中双击它一样 但使用我的代码自动完成 例如 在计算机 A 上 text txt 将在写字板中打开 但在计算机 B 上 由于用户文件扩展名分配
  • Bootstrap - 选择和按钮彼此相邻

    我有一个
  • 我应该如何编写 .i 文件来包装 Java 或 C# 中的回调

    我的 C 程序使用定期调用的回调函数 我希望能够处理 Java 或 C 程序中的回调函数 我应该如何编写 i 文件来实现此目的 C 回调看起来像这样 static void on incoming call pjsua acc id acc
  • JDBI 的 @BindBean 在 INSERT 期间未在 bean 类中找到命名参数

    当使用 JDBI 的 BindBean 将值插入 Dropwizard 中的 Mysql 数据库时 我始终遇到以下异常 问题似乎是 JDBI 无法找到 bean 中的属性 我已经将该问题隔离到一个单独的项目中 但无法弄清楚哪里出了问题 我将
  • 在 HTML 上使用 setter 和 getter 变量(角度组件)

    我创建了一个简单的角度组件来测试使用 getter setter 样式的变量的使用情况 import Component from angular core Component selector my app templateUrl app
  • 仅隐藏滚动上的操作栏而不是操作栏选项卡

    我在向下滚动时尝试隐藏操作栏时遇到问题 然后在向上滚动时 必须再次显示操作栏 For Eg 我提到了这个Tutorial http www techrepublic com article pro tip maximize android
  • Android 12 上的 PendingIntent.FLAG_UPDATE_CURRENT 错误

    在我的应用程序中 我计划在每天的特定时间设置闹钟 为此 我正在使用警报管理器 请参阅下面的代码 这在 12 以下的 Android 设备上运行良好 但在 12 及更高版本上则不行 Firebase Crashlytics 上出现错误 以 S
  • 如何用CGPathAddCurveToPoint创建一个完美的半圆?

    我正在尝试使用 CGPathAddCurveToPoint 创建一个半径为 15 点的完美右半圆 如下所示 CGPathMoveToPoint path NULL 0 0 CGPathAddCurveToPoint path NULL 15
  • Google Chrome 扩展程序可在用户点击后关闭通知

    Chrome 扩展程序运行良好 我的问题是通知会在 7 秒后关闭 我想让用户点击关闭通知 function engine var latestId var ids var messages var newmessage get http l
  • git merge:将更改应用于移动到不同文件的代码

    我现在正在尝试一个非常强大的 git merge 操作 我遇到的一个问题是 我对分支中的某些代码进行了一些更改 但我的同事将该代码移动到了他分支中的新文件中 所以当我这样做的时候git merge my branch his branch
  • 使用 strptime() 解析日期/时间字符串时如何保留时区?

    我有一个来自 Blackberry IPD 备份的 CSV 转储文件 是使用 IPDDump 创建的 这里的日期 时间字符串看起来像这样 在哪里EST是澳大利亚时区 Tue Jun 22 07 46 22 EST 2010 我需要能够在 P