【发布时间】:2015-03-04 08:09:28
【问题描述】:
如何在python中去除时间格式%Y-%m-%dT%H:%M:%S中的T?
我在我的html中使用它
<b>Start:{{ start.date_start }}<br/>
【问题讨论】:
-
这是 Jinja2 还是 Django 模板?
标签: python python-2.7 datetime jinja2
如何在python中去除时间格式%Y-%m-%dT%H:%M:%S中的T?
我在我的html中使用它
<b>Start:{{ start.date_start }}<br/>
【问题讨论】:
标签: python python-2.7 datetime jinja2
手动格式化日期时间,不要依赖默认的str() 格式化。例如,您可以使用datetime.datetime.isoformat(),传入一个空格作为分隔符:
<b>Start:{{ start.date_start.isoformat(' ') }}<br/>
或者您可以使用datetime.datetime.strftime() 更精细地控制格式:
<b>Start:{{ start.date_start.strftime('%Y-%m-%d %H:%M:%S') }}<br/>
【讨论】:
dateobj.isoformat(' ') 而不是str(dateobj).repace()?
str(datetime) 确实不包含T。 datetime.__str__ 已记录返回d.isoformat(' '),也就是说,如果结果中有T,这将是一个错误。那么问题来了:start.date_start 有什么类型?它是一个字符串(然后.replace() 是可以容忍的,尽管strptime().strftime()(重新格式化)更好)还是一些自定义日期类? (然后使用.strftime()等显式格式化方法)。
start.date_start 必须是一个字符串已经。
@register.filter
def isotime(datestring):
datestring = str(datestring)
return datestring.replace("T"," ")
【讨论】: