我从我的数据库中以这种格式获取此日期时间。
2016-09-13T08:46:59.953948+00:00
我想将此日期更改为
之类的格式13 sep 2016 08:46:59
我使用了像
这样的日期时间模块import datetime
datetime.datetime.strptime(2016-09-13T08:46:59.953948+00:00, 'changing format')
但是它给出了错误
TypeError at /admin/help
must be string, not datetime.datetime
答案 0 :(得分:0)
如果您不关心时区和毫秒,可以尝试以下功能:
from datetime import datetime
def parse_db_time_string(time_string):
date = datetime.strptime(time_string.split('.')[0], '%Y-%m-%dT%H:%M:%S')
return datetime.strftime(date, '%d %b %Y %H:%M:%S')
您可以使用db字符串调用该函数,然后就像这样:
old_time_string = '2016-09-13T08:46:59.953948+00:00'
new_time_string = parse_db_time_string(old_time_string)
答案 1 :(得分:0)
通过导入日期时间和箭头,您可以转换为所需的格式。 Arrow是一个用于格式化日期和格式的python库。时间。
import arrow
import datetime
today = arrow.utcnow().to('Asia/Calcutta').format('YYYY-MM-DD HH:mm:ss')
'2016-09-13 15:57:38'
current_date = datetime.datetime.strptime(today, "%Y-%m-%d %H:%M:%S").strftime('%d-%B-%Y %H:%M:%S')
'13-September-2016 15:57:38'
了解有关箭头https://micropyramid.com/blog/python-arrow-to-show-human-friendly-time/
的更多信息答案 2 :(得分:-1)
您可以使用
import datetime
# n is your time as shown in example
your_time = n.strftime("%d/%m/%y %H:%M:%S")
在尝试制作人类可读的格式时,我建议django humanize