本文介紹了如何解決將字符串日期從XML文件轉換為int格式的錯誤?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我發現自己今天也面臨著日期問題,我從一個字符串格式的XML文件中提取了日期,但當我嘗試將其轉換為int格式時,我遇到了錯誤。
這是我的代碼的一部分:
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("top");
for (int j=0; j<= inputFile.length();j++)
for (int temp =0; temp < nList.getLength(); temp++) {
j++;
System.out.println("---------------------------------------");
Node nNode = nList.item(temp);
System.out.println("
La requete numero " +j+ " " + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
dateq=eElement.getElementsByTagName("querytime").item(0).getTextContent();
System.out.println("date de la requete est " +dateq);
DateFormat dfq = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.FRENCH);
Date date1 = dfq.parse(dateq);
System.out.println("new date: " +date1);
,輸出為:
date de la requete est Tue Feb 08 12:30:27 +0000 2011
java.text.ParseException: Unparseable date: " Tue Feb 08 12:30:27 +0000 2011 "
推薦答案
問題出在您的線路
DateFormat dfq = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.FRENCH);
Date date1 = dfq.parse(dateq);
您得到了ParseException
,因為在" Tue Feb 08 12:30:27 +0000 2011 "
中
您有前導空格和尾隨空格,并且Tue
和Feb
部分是英語,但不是法語。
將這些行更改為
DateFormat dfq = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
Date date1 = dfq.parse(dateq.trim());
并且它會起作用。
這篇關于如何解決將字符串日期從XML文件轉換為int格式的錯誤?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,