当前位置: 首页 > 面试题库 >

如何将日期字符串转换为DateTime对象?

郭意
2023-03-14
问题内容

我有以下日期:

2005-08-11T16:34:33Z

我需要知道这是date在 datetime(2009,04,01) 之前还是之后,而且我似乎找不到找到将字符串转换为可以将其与
datetime(2009,04,01) 比较的 方法。 ) 以一种有意义的方式。


问题答案:

由于该字符串采用ISO格式,因此可以直接将其与datetime您提到的ISO格式版本进行有意义的比较:

>>> s='2005-08-11T16:34:33Z'
>>> t=datetime.datetime(2009,04,01)
>>> t.isoformat()
'2009-04-01T00:00:00'
>>> s < t
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't compare datetime.datetime to str
>>> s < t.isoformat()
True
>>> z='2009-10-01T18:20:12'
>>> z < t.isoformat()
False

如您所见,虽然您无法将字符串与日期时间对象进行比较,但只要字符串采用ISO格式,就可以将其与.isoformat()日期时间对象的进行比较。这就是日期和时间的ISO格式字符串表示形式的优点:它具有可比性,并且可以按
字符串 正确排序,而不必转换为其他类型。

如果您热衷于转换,当然可以:

>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2005, 8, 11, 16, 34, 33)


 类似资料:
  • 问题内容: 我有一堆记录,日期格式为字符串,例如“ 04/17/2009” 我想将它们转换为mysql datetime字段 我计划使用foreach循环读取旧的日期值,并将新格式化的值插入每个记录的新字段中 什么是转换字符串的最佳方法…我认为php可能有一种自动执行此方法的方法? 谢谢 问题答案: 首先,将字符串转换为时间戳: 然后做一个

  • 它是使用创建的,如何将字符串转换回对象?

  • 问题内容: 在将日期字符串转换为中的对象时,我看到了很多东西,但我想采用另一种方法。 我有 我想将其转换为类似的字符串。 问题答案: 你可以使用来帮助设置日期格式。 例如, 将产生:

  • 问题内容: 在mysql中,我有一个类型为datetime的time_entered字段(示例数据:2012-06-20 16:00:47)。我还有一个方法getTimeEntered(),将值作为String返回。我想使用来自GWT的DateTimeFormat以这种格式2012-06-20显示日期。 这是我的代码: 问题是,format方法不接受参数作为String。因此,如果只有一种方法可以

  • 问题内容: 我有一个创建日期或对象的日期的表示形式。我已经通过看和,但没有发现任何可以比创建我自己的丑陋的解析方法做其他。我知道一定有办法,有人知道解决方案吗? 问题答案: 简单来说: 有关更多信息,请参见。 并将其转换为,请执行以下操作:

  • 我想以“yyyy-mm-dd hh:mm:ss”的形式将字符串转换为joda DateTime。字符串应该是两种格式之一,“YYYY-MM-DD HH:MM:SS”或“YYYY-MM-DD”,尽管它是用户输入,所以如果它不是任何一种格式,我可能需要将其踢回。如何检查没有时间戳的情况并在其后面追加00:00:00?下面是给出完整日期和时间的情况下的代码。