日期:2014-05-20  浏览次数:20816 次

java 获取ftp文件的最后修改时间比实际时间少8小时
包: 
org.apache.commons.net.ftp.FTP;
 org.apache.commons.net.ftp.FTPClient;

java 获取ftp文件的最后修改时间比实际时间少了8小时
代码如下:
 FTPFile[] files = ftpClient.listFiles();
for (FTPFile file : files){

System.out.println(file.getName());
Date date = file.getTimestamp().getTime();
System.out.println("文件修改" + dateFormat.format(date));
Date date1 = new Date();
System.out.println("now" + dateFormat.format(date1));

long f = date1.getTime() -date.getTime();
System.out.println("时间差" + f/60000+"分");
}

------解决方案--------------------
FTPFile.getTimestamp().getTime()
java.io.File.lastModified()

不知2个是否一样,lz看看ftp服务器的系统时间和你计算机时间是否一致。
------解决方案--------------------
是不是因为不在同一时区?
------解决方案--------------------
一个原因可能是不在同一时区,还有一个是如果你这个项目是部署在tomcat或者jboss等服务器下的话,你查看下启动着的服务器是不是也比实际时间少8个小时,如果少的话,就到服务器向关目录下找到修改时间格式的地方改下,具体怎么改上网搜下吧