2

我正在尝试解析一个日期字符串,它是 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

谁能帮我解决这个问题?

4

2 回答 2

1

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));
于 2013-05-27T00:38:08.740 回答
0
于 2018-02-16T22:43:29.270 回答