Python,os.path.getmtime(fullname)sb接近time.mktime(t.timetuple())但是不是

时间:2017-05-06 23:40:33

标签: python-2.7 time os.path

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

while ! ( exec 2>/dev/null ; echo > /dev/tcp/mysql/3306 ) ; do sleep 1 ; done

第二行代码来自How to convert a Python datetime object to seconds

结果甚至没有结束:

" 1494082110.0"

" 1319180400.0"

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

我的最终目标是,我想知道如何生成一个浮动日期,匹配我选择的日历日期, 用于以下情况:     win32file.SetFileTime(handle,CreatedTime,AccessTime,WrittenTime)

非常感谢任何理解这些问题的帮助。

1 个答案:

答案 0 :(得分:0)

您需要将当前时间与保存文件的时间进行比较。在这段代码中我保存了一个文件,然后在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)

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