使用FTP获取服务器日期

时间:2014-09-08 12:39:44

标签: python datetime

我正在尝试使用Python获取在FTP服务器上创建的文件的日期修改时间,我目前正在使用ftputil外部库并执行以下操作:

file_folder_time_stamp = time.strftime('%y%m%d%H%M%S', time.gmtime(host.path.getmtime(dir_or_file)))

不幸的是,我得到的返回时间是2013年。而不是2014年。我确保运行FTP服务器的服务器更新到当前时间。在终端上执行日期命令,确保我得到合适的时间。我只是错误地解析了一些东西吗?

我创建了一个文件夹,并使用getmtime命令检查创建时间,它仍然返回一个字符串,例如13090810000.这应该看起来像140908xxxx

1 个答案:

答案 0 :(得分:3)

您从host.path.getmtime(dir_or_file)获得什么纪录?你从time.gmtime(...)得到了什么?要检查时差,可以减去两个日期以获得datetime.timedelta对象,并且可能通过转换节省一些麻烦:

from datetime import datetime
from ftputil import FTPHost

URL = "ftp.sample.org"

with FTPHost(URL, "anonymous", "xbello@sample.org") as host:
    mod_time = host.path.getmtime("robots.txt")

    dif = datetime.now() - datetime.fromtimestamp(mod_time)

    print dif.seconds