2016-04-17 138 views
1

我有成千上万的pdf文档。当他们上传到我的数据库,其中一些有转换错误,说[IOException: Error converting date: '£gLùY‹»’î]G…ˇÅìùJÌ܇^'],或[IOException: Error converting date: 'D:191000724110432']。具有日期错误的文档也与其余格式相同。 enter image description here转换日期

这里是我的转换功能:

public static String getProperDate(Calendar cal) { 
     SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); 
     String properDate = dateFormat.format(cal.getTime()); 
     return properDate; 
    } 

我也得到了同样的错误,如果我改变格式(dd-MMM-yyyy)

这是由于pdf或编码的错误?我所有的pdf都有相同的格式,但其中一些显示这个错误。

我正在使用PDFBox来获取pdf的元数据。

PDDocument document = PDDocument.load(file); 
PDDocumentInformation info = document.getDocumentInformation(); 
indexed.creationDate = getProperDate(info.getCreationDate()); 
+0

我倾向于同意以前的评论,一个语言环境问题,该日期看起来像是捷克/斯洛伐克语?你怎么上传它?通过网络?浏览器区域设置,从那里开始并检查。 – t0mm13b

+2

该代码似乎与所述问题无关,或者至少不清楚它如何使用。请参阅帮助中心的[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –

+0

这是波斯尼亚。我正在使用Play Framework上传数据库中的书籍。通常它会转换为例如'29-06-2011'。但正如我所说,即使他们有固定的日期时间,他们中的一些人也不会转换。 –

回答

1

请提及字符串解码格式。 尝试 String properDate = new String(dateFormat.format(cal.getTime()),“UTF-8”);