首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python格式Ctime方法

Python格式Ctime方法
EN

Stack Overflow用户
提问于 2018-03-24 23:24:44
回答 2查看 10.5K关注 0票数 4

我正在尝试使用os.path.getmtime()获取文件的修改日期,并将时间转换为人类可读的格式;建议使用time.ctime()方法,但它也给出了日期和月份的名称,这是我不想要的。

可以格式化%d %m %Y, %H:%M吗?

目前,我的代码如下:

代码语言:javascript
复制
import os.path, time

path = #path of the file

print time.ctime(os.path.getmtime(path))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-24 23:39:37

您可以使用datetime.fromtimestamp()这样做:

代码:

代码语言:javascript
复制
file_time_string = dt.datetime.fromtimestamp(os.path.getmtime(__file__))

测试代码:

代码语言:javascript
复制
import os
import datetime as dt

file_time = dt.datetime.fromtimestamp(os.path.getmtime(__file__))
print(file_time.strftime("%d %m %Y, %H:%M"))

结果:

代码语言:javascript
复制
24 03 2018, 16:39
票数 7
EN

Stack Overflow用户

发布于 2018-03-24 23:43:12

如文档所示,ctime函数只调用具有固定格式的asctime。如果要使用strftime-style格式字符串,则可以调用strftime函数。

实际上有两种方法可以做到这一点。现在的方法是构造一个datetime对象并调用它的方法:

代码语言:javascript
复制
>>> datetime.datetime.fromtimestamp(mtime).strftime("%d %m %Y, %H:%M")
'21 03 2018, 20:34'

如果您想继续使用time模块,则需要一个struct_tm来传递给它的函数:

代码语言:javascript
复制
>>> time.strftime("%d %m %Y, %H:%M", time.localtime(mtime))
'21 03 2018, 20:34'

如果这是你用时间戳做的唯一一件事,那就没什么区别了。但是,如果您想要能够,例如,排序,对它们做算术,等等,您可能会更高兴使用datetime

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49471004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档