Python,os.path.getmtime(fullname) sb close to time.mktime(t.timetuple()) but not not



我在Windows 7计算机上编辑并保存了一个文本文件," fullname"。将编辑保存到" fullname"之后,我立即运行了以下两行代码,我期望以下代码的两行返回以来几乎相同的秒数:

print str(os.path.getmtime(fullname))
print str(time.mktime(t.timetuple()))

第二行代码是从如何将python datetime对象转换为秒

的如何借用的

结果甚至没有接近:

" 1494082110.0"

" 1319180400.0"

我想知道为什么结果不接近。

我的最终目标是我想知道如何生成浮点日期,与选择的日历日期相匹配,在以下情况下使用: win32file.setfiletime(句柄,创建时间,访问时间,rittentime(

在理解这些问题方面的任何帮助都将不胜感激。

您需要将当前时间与保存文件的时间进行比较。在此代码中,我保存了一个文件,然后在t中获取当前时间并显示它,然后获得文件的修改时间并显示。您可能会注意到两次差异不到半秒。

>>> import datetime
>>> import time
>>> import os
>>> fullname = 'temp.txt'
>>> open('temp.txt', 'w').write('something')
9
>>> t = datetime.datetime.now()
>>> time.mktime(t.timetuple())
1502039202.0
>>> os.path.getmtime(fullname)
1502039187.4629886

我也注意到,

>>> datetime.datetime.fromtimestamp(1319180400)
datetime.datetime(2011, 10, 21, 3, 0)

换句话说,您的问题中的第二个数字产生的日期 您提出问题。

最新更新