python-3.7 - 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
解决方案
只是不要调用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()
而不是now()
; 我没有在这个答案中解决这个问题。
推荐阅读
- c# - 将字节数组作为pdf加载到表单(vb)中的div中而不将其写入文件?
- css - 如何在 CSS 中为模态引导创建异常
- postgresql - PostgreSQL 转换浮点值以使用千位分隔符查看它
- ionic-framework - 电容器capacitor.config.json 机会不起作用
- c# - 替换文本会增加新行,并不理想
- postgrest - PostgREST:使用单个 json 参数对 volatile RPC 的请求并触发多个触发器,需要很长时间才能完成 - 已解决
- python - 从 Python 中的 LinkedIn URL 中提取个人资料名称
- sql - Spark SQL 是否支持像 1.0f 这样的浮点字面量?
- google-apps-script - 如何使用应用程序脚本谷歌驱动器从谷歌表中的父文件夹中获取所有子文件夹名称
- docker - 带有 docker-workflow-plugin .inside 的 Jenkins 管道 DSL 不允许通过 withEnv 设置/修改 PATH