重新格式化日期时间

时间:2019-02-08 16:17:14

标签: python datetime strftime

我正在尝试将日期时间格式从“ 2019-02-08 15:00”更改为“ 2月8日”,但是小时和分钟似乎阻止了我轻松地执行此操作。

包含此信息的变量为my_task['due']['string'],如果我打印该变量,则会得到“ 2019-02-08 15:00”。

然后我运行以下代码:

variabel = time.strftime('%d %b', my_task['due']['string'])

但是我得到了错误:

  

TypeError:参数必须是长度为9的序列,而不是16

在我非常擅长的PHP中,这很容易实现,但是我想我在这里缺少了一些小细节。有人可以请我朝正确的方向推进吗?

1 个答案:

答案 0 :(得分:2)

似乎您使用的是日期时间字符串,而不是日期时间对象,因此您首先需要根据字符串创建日期时间对象,以便使用datetime.strftime()对其进行格式设置。

还要注意,datetime对象和time对象尽管共享某些通用方法,但并不相同。

例如:

from datetime import datetime

formatted = datetime.strptime('2019-02-08 15:00', '%Y-%m-%d %H:%M').strftime('%d %b')
print(formatted)
# OUTPUT
# 08 Feb