编程语言
首页 > 编程语言> > java – 从FTPClient.getModificationTime()解析日期字符串

java – 从FTPClient.getModificationTime()解析日期字符串

作者:互联网

我试图解析一个日期字符串,这是FTP服务器上文件的修改日期.以下是代码.

String dateString = mFTPClient.getModificationTime(PDF_FILE_NAME_PS);

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");

Date modificationDate = dateFormat.parse(dateString.substring(dateString.indexOf(" ")));

Log.v(TAG, "inside downloadservice dateString="+dateString);

Log.v(TAG, "inside downloadservice modificationdate="+modificationDate.toString());

我在日志中得到了这个

05-27 10:04:20.870: V/DownloadService(751): inside downloadservice dateString=213 20130523130035

05-27 10:04:20.890: V/DownloadService(751): inside downloadservice modificationdate=Sat Jul 23 07:30:35 AEDT 203

有人可以帮我这个吗?

解决方法:

String#substring(int index)方法的javadoc说:
子字符串以指定索引处的字符开头,并延伸到此字符串的末尾.

这就是你遇到的问题:你没有正确使用String.substring()方法,因为在调用它时,你会收到另一个String,它包含一个空格作为第一个字符,这就是解析器出错的原因.

这是您需要的修复:

String dateString = mFTPClient.getModificationTime(PDF_FILE_NAME_PS);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date modificationDate = 
     dateFormat.parse(dateString.substring(dateString.indexOf(" ") + 1));

标签:date-parsing,android,java,ftp-client
来源: https://codeday.me/bug/20190929/1833118.html