Python将ctime转换为自访问以来的天数

问题描述

我有ctime格式的文件访问时间-但我真正需要的是自上次访问文件以来的天数。如何将ctime日期转换为自上次访问以来的天数?

所以这个:

fileStatObject = os.stat( iDir + "/" + fileName )
accessTime = time.ctime( fileStatObject[stat.ST_ATIME] )
print accessTime

结果是: 2020年6月23日星期二16:06:04

但是我需要的是: 113

解决方法

请勿在其上调用stream.read-将时间戳转换为时间戳的字符串表示形式。相反,您可以找到自该时间戳记以来经过了多少时间,并以天数表示:

ctime

您可能希望进一步对经过的时间进行四舍五入,但这应该有助于说明如何更进一步。

您还应该注意时区问题。您可能需要使用file_stat = os.stat(os.path.join(i_dir,file_name)) access_timestamp = datetime.datetime.fromtimestamp(file_stat[stat.ST_ATIME]) elapsed = datetime.datetime.now() - access_timestamp print(f"File was accessed {elapsed.days} days ago") 而不是utcnow();我尚未在此答案中解决此问题。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...