Python strftime %A 定长

标签 python date format strftime

我正在使用以下日期格式:

d.strftime("%A, %d %B %Y %H:%m")

并且由于工作日的长度 (%A) 发生了变化, 我想总是打印工作日 10个字符,左边补空格,右对齐。

有点像

d.strftime("10%A, %d %B %Y %H:%m")

什么是最简单的方法?

最佳答案

str.rjust(10)正是这样做的:

s = d.strftime('%A').rjust(10) + d.strftime(', %d %B %Y %H:%M')

您可能想要 %M (minutes), not %m (months)在您的格式字符串中为 @Ahmad pointed out .

在 Python 3.6+ 中,为了获得更简洁的版本,可以滥用嵌套的 f 字符串:

>>> f"{f'{d:%A}':>10}, {d:%d %B %Y %H:%M}"
'    Friday, 15 December 2017 21:31'

首选标准时间格式,例如 rfc 3339:

>>> from datetime import datetime
>>> datetime.utcnow().isoformat() + 'Z'
'2016-02-05T14:00:43.089828Z'

或 rfc 2822:

>>> from email.utils import formatdate
>>> formatdate(usegmt=True)                                          
'Fri, 05 Feb 2016 14:00:51 GMT'

相反。

关于Python strftime %A 定长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35201605/

相关文章:

javascript - 如何让 javascript 以 HTML 形式预设今天的日期

c# - C#控制台WriteLine System.FormatException:

python - 根据条件从嵌套字典中删除子字典

python - 是否可以直接将对象字段初始化为 __init__ 关键字参数?

python - 定义类 : Module takes at most 2 arguments

javascript - 数据可视化 : Best tools to generate simple charts in PDF with Javascript or Python

php - 从按日期命名的多个表中选择一个范围

java - 设置警报到期时间

mysql - 如何对齐右调整的列

java - Gradle:一尘不染的任务在需要时不触发