如何将 python 日期时间转换为具有可读格式日期的字符串?

新手上路,请多包涵
t = e['updated_parsed']
dt = datetime.datetime(t[0],t[1],t[2],t[3],t[4],t[5],t[6]
print dt
>>>2010-01-28 08:39:49.000003

我如何把它变成一个字符串?:

 "January 28, 2010"

原文由 TIMEX 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 528
2 个回答

datetime 类有一个方法 strftime。 Python 文档记录了它接受的不同格式:

对于这个特定的例子,它看起来像:

 my_datetime.strftime("%B %d, %Y")

原文由 Cristian 发布,翻译遵循 CC BY-SA 4.0 许可协议

以下是如何使用 python 的通用格式化功能完成相同的操作……

 >>>from datetime import datetime
>>>"{:%B %d, %Y}".format(datetime.now())

此处使用的格式化字符与 strftime 使用的相同。不要错过格式说明符中的前导 :

在大多数情况下使用 format() 而不是 strftime() 可以使代码更具可读性、更易于编写并且与生成格式化输出的方式一致……

 >>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now())

将以上内容与以下 strftime() 替代方案进行比较…

 >>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y"))

此外,以下是行不通的……

 >>>datetime.now().strftime("%s %B %d, %Y" % "Andre")
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    datetime.now().strftime("%s %B %d, %Y" % "Andre")
TypeError: not enough arguments for format string

等等…

原文由 Sandeep Datta 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题