python - 如何将字符串转换为gmt时间
问题描述
我得到一个需要转换为 GMT 时间的字符串。我认为这是正确的,但我不确定。
t = 'Jan 17 2003 12:00:05:000 AM'
t = datetime.datetime.strptime(t,'%b %d %Y %I:%M:%S:%f %p')
它打印2003-01-17 00:00:05
,我相信这是正确的。但是我如何确定这是否是格林威治标准时间?我不确定是否有办法转换strptime
在线时间。
解决方案
在您提出的问题中,无法判断时间所在的时区。这是有道理的——如果我告诉你“2003 年 1 月 17 日,午夜后 5 分钟”,你可能不知道我说的是哪个时区。您也许可以假设给定时间适用于您当前所在的时区,但这很危险,并且由于云执行频率的增加,很可能在很多时候给出错误的答案(因为服务器可能在与用户不同的时区)。
您可能能够确认给定时间是 GMT 的一种方法是将其与您知道其时间为 GMT 的另一个事件进行交叉引用,然后您可以根据差异确定其时区。您可能能够确定时区的另一种方法是询问提供日期的人(如果是用户输入;您会注意到许多网站在您创建帐户时输入了您的时区,因此),或确定提供日期的任何实体的位置(如果可能),或找到其他方法来获取该信息。如果不知道日期应该来自哪里,就不可能给出更具体的建议。
IANA 提供了一个现有时区数据库,以帮助实际从一个时区转换到另一个时区(因为它并不总是像向前或向后改变一个小时那样简单)。这个答案还提供了一些关于将datetime
对象从一个时区转换为另一个时区的见解。
推荐阅读
- apache - htaccess - 使用 .htaccess 将 http_referer 查询字符串参数附加到请求的 uri
- java - 这可以被认为是多态性吗?
- scons - 在 SCons Builder 的操作中调用函数
- terraform - 连接到 TFE 时出现 Terraform Destroy 错误
- javascript - HTML5 输入类型号 + oninput 正则表达式验证擦除字段按点
- c# - ActionLink 参数始终为空 - 即使使用自定义路由
- regex - 正则表达式认为我的第二种选择无效
- java - 交换期间的 CamelExecutionException
- d3.js - 如何根据对象中的数据动态地将图例添加到条形图中(d3)
- javascript - Socrata、SODA、REST、JS:如何查询行数?