java - commons-net-3.2 :mismatch between timestamp and timezone

标签 java apache-commons-net

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

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

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

应该是 11/27/2014 8:28:20 AM EET。

如何解决这个问题。

最佳答案

使用 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

关于java - commons-net-3.2 :mismatch between timestamp and timezone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27216735/

相关文章:

java - 如何跳过 xml 标签内文本的验证?

java - 如何在 FTPClient 中设置时间戳的时间

java - FTP 列表命令抛出 MalformedServerReplyException : Truncated server reply

java - 无法使用 Java FTP 客户端下载具有阿拉伯名称的文件

java - 我无法得到一个基本的 for 循环来工作 java 8

java - 嵌套 c :foreach in jSTL

java - 用Java有效解析Excel数据

java - 如何(不)处理高内存使用情况?

java - apache.commons.net.ftp.FTPClient 没有将文件上传到所需的文件夹

java - 如何建立到 FileZilla Server 1.2.0 的 FTPS 数据连接