【问题标题】:commons-net-3.2:mismatch between timestamp and timezonecommons-net-3.2:时间戳和时区不匹配
【发布时间】:2015-01-28 18:29:16
【问题描述】:

我正在使用 commons-net-3.2.jar 中的 FTPClient.java、FTPFile.java、FTPListParseEngine.java 来访问位于 EET 时区的 ftp 服务器(Linux 机器)上的文件。访问文件时,如果我尝试查看文件的时区和时间戳,时间戳以 UTC 格式显示,但时区显示为文件被访问地点的时区。

预计两者都应该是 EET 格式。

示例: 假设在 2014 年 11 月 27 日上午 8 点 28 分 20 分在 FTP 服务器(在 EET 区域)上创建了一个文件 sample.txt。 使用上述 jar 访问文件(在 EET 时区)时,FTPFile.java 的 getTimestamp 方法将返回时间为 11/27/2014 6:28:20 AM EET。

它应该是 2014 年 11 月 27 日上午 8:28:20 EET。

如何解决这个问题。

【问题讨论】:

    标签: java apache-commons-net


    【解决方案1】:

    使用FTPClientConfig 将时区设置为“UTC”并使用此配置FTPClient 实例。问题现已解决。

    FTPClient f=FTPClient();
    
    FTPClientConfig conf = new FTPClientConfig();
    conf.setTimeZoneId("UTC");
    
    f.configure(conf);
    

    http://commons.apache.org/proper/commons-net/javadocs/api-3.3/org/apache/commons/net/ftp/FTPClientConfig.html

    【讨论】:

    猜你喜欢
    • 2016-01-17
    • 2016-02-06
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    相关资源
    最近更新 更多