我正在使用 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);
关于java - commons-net-3.2 :mismatch between timestamp and timezone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27216735/