我正在尝试使用os.path.getmtime()获取文件的修改日期,并将时间转换为人类可读的格式;建议使用time.ctime()方法,但它也给出了日期和月份的名称,这是我不想要的。
可以格式化%d %m %Y, %H:%M吗?
目前,我的代码如下:
import os.path, time
path = #path of the file
print time.ctime(os.path.getmtime(path))发布于 2018-03-24 23:39:37
您可以使用datetime.fromtimestamp()这样做:
代码:
file_time_string = dt.datetime.fromtimestamp(os.path.getmtime(__file__))测试代码:
import os
import datetime as dt
file_time = dt.datetime.fromtimestamp(os.path.getmtime(__file__))
print(file_time.strftime("%d %m %Y, %H:%M"))结果:
24 03 2018, 16:39发布于 2018-03-24 23:43:12
如文档所示,ctime函数只调用具有固定格式的asctime。如果要使用strftime-style格式字符串,则可以调用strftime函数。
实际上有两种方法可以做到这一点。现在的方法是构造一个datetime对象并调用它的方法:
>>> datetime.datetime.fromtimestamp(mtime).strftime("%d %m %Y, %H:%M")
'21 03 2018, 20:34'如果您想继续使用time模块,则需要一个struct_tm来传递给它的函数:
>>> time.strftime("%d %m %Y, %H:%M", time.localtime(mtime))
'21 03 2018, 20:34'如果这是你用时间戳做的唯一一件事,那就没什么区别了。但是,如果您想要能够,例如,排序,对它们做算术,等等,您可能会更高兴使用datetime。
https://stackoverflow.com/questions/49471004
复制相似问题