Python时间戳转换日期格式,去掉前导0
最近在编程的时候遇到了以下问题,Python想要输出日期的时候,比如2021年8月9日,用Python导出的时候就会导出成为2021.08.13,但是我想导出成2021.8.13,也就是中间的月份"08"没有0。
原来的代码
time = datetime.datetime.now().strftime('%y.%m.%d')
print(time)
>>>2021.08.13
输出结果是21.08.13
别人的方法
从网上看了别人的方法,别人建议是在%和m之间加‘-’,也就是下面这样
time = datetime.datetime.now().strftime('%Y.%-m.%d')
print(time)
报错如下:
Traceback (most recent call last):
File "E:/自编代码/自动生成试运行记录/autoRecord/main.py", line 15, in <module>
time = datetime.datetime.now().strftime('%Y.%-m.%d')
ValueError: Invalid format string
但是我的是Windows系统,此方法不行,此方法只支持在OS X和Linux上使用。
自学的方法
后来学到了另一种方法,把上面方法的‘-’改为‘#’就可在Windows系统上运行了
time = datetime.datetime.now().strftime('%Y.%#m.%d')
print(time)
>>>2021.8.13
完美解决!
本文介绍了在Python中如何将时间戳转换为日期格式,并去除月份前导的0。原来的方法导致日期输出为2021.08.13,但目标是2021.8.13。尝试使用'%Y.%-m.%d'格式化字符串在Windows系统上导致错误。然后学习到在Windows系统中可以使用'%Y.%#m.%d'来实现相同效果,成功输出为2021.8.13。
1054

被折叠的 条评论
为什么被折叠?



