Python strftime %A定长
Python strftime %A fixed length
我正在使用以下日期格式:
d.strftime("%A, %d %B %Y %H:%m")
并且由于工作日的长度 (%A
) 发生变化,
我想总是打印工作日
10个字符,左边补空格,右对齐
类似于
d.strftime("10%A, %d %B %Y %H:%m")
最简单的方法是什么?
这个怎么样:
d.strftime("%A") + " " * (10 - len(d.strftime("%A")) + "," + d.strftime("%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) in your format string as 。
在 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'
相反。
这大致等同于 but you can use .format()
使其略短:
s = '{:>10}, {:%d %B %Y %H:%m}'.format(d.strftime('%A'), d)
或者如果您在字符串中输入的不仅仅是日期:
args = {
'weekday' = d.strftime('%A'),
'date' = d,
'foo' = some_other_stuff(),
'bar' = 17.5422,
}
s = '{weekday:>10}, {date:%d %B %Y %H:%m} {foo} {bar:>3.2f}'.format(**args)
我正在使用以下日期格式:
d.strftime("%A, %d %B %Y %H:%m")
并且由于工作日的长度 (%A
) 发生变化,
我想总是打印工作日
10个字符,左边补空格,右对齐
类似于
d.strftime("10%A, %d %B %Y %H:%m")
最简单的方法是什么?
这个怎么样:
d.strftime("%A") + " " * (10 - len(d.strftime("%A")) + "," + d.strftime("%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) in your format string as
在 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'
相反。
这大致等同于.format()
使其略短:
s = '{:>10}, {:%d %B %Y %H:%m}'.format(d.strftime('%A'), d)
或者如果您在字符串中输入的不仅仅是日期:
args = {
'weekday' = d.strftime('%A'),
'date' = d,
'foo' = some_other_stuff(),
'bar' = 17.5422,
}
s = '{weekday:>10}, {date:%d %B %Y %H:%m} {foo} {bar:>3.2f}'.format(**args)