首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取FTP服务器的时区设置?

如何获取FTP服务器的时区设置?
EN

Stack Overflow用户
提问于 2010-07-14 18:49:49
回答 4查看 15K关注 0票数 9

我使用PHP的ftp_rawlist函数来获取文件及其相关的最后修改日期/时间的列表。出于我的目的,我需要知道上次修改日期/时间的时区(或偏移量)。日期/时间对我来说是无用的,因为我需要将它们转换为UTC。

有没有办法弄清楚FTP服务器的时区设置是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-27 10:05:57

FTP标准中没有定义方法来确定远程服务器的时区。

如果你对FTP服务器有写权限,我猜你可以上传文件,然后计算FTP报告的文件时间与本地报告的文件时间之间的差异。

票数 12
EN

Stack Overflow用户

发布于 2015-09-09 13:37:26

尝试在PHP代码的开头定义您的时区。

示例:

代码语言:javascript
复制
date_default_timezone_set("CET");

对我来说,这个解决方案是有效的,因为它自动将服务器的时间从不同的时区转换为所需的时区。

票数 0
EN

Stack Overflow用户

发布于 2015-11-03 19:39:00

我最近也遇到了同样的问题。我的方法是在根目录中创建一个名为/time的文件夹,然后重新读取它并检查文件夹的创建日期。然后我可以建立我的ftp客户端和服务器之间的时间差。希望这能有所帮助。

顺便说一句,我正在使用https://github.com/ArxOne/FTP

代码语言:javascript
复制
// Establish a fallback
var servertime = DateTime.Now;
try
{
    // query for the existance of a time folder
    var timefolder = ftpClient.ListEntries("/").FirstOrDefault(o => o.Name == "time");
    // delete it if found
    if (timefolder != null)
    {
        ftpClient.Delete("/time");
    }
    // if not found create one
    ftpClient.Mkd("/time");
    timefolder = ftpClient.ListEntries("/").FirstOrDefault(o => o.Name == "time");
    if (timefolder == null)
    {
        Logger.Fatal("Time check failed");
        return;
    }
    // now grab the time of the folder.
    servertime = timefolder.Date;
}
catch (Exception x)
{
    Logger.Fatal(x,"Time check fatal error");
    return;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3245381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档