如何解决将字符串日期从XML文件转换为int格式的错误? [英] How to solve the error convert String date from xml file to an int format?

查看:0
本文介绍了如何解决将字符串日期从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 "中 您有前导空格和尾随空格,并且TueFeb部分是英语,但不是法语。

将这些行更改为

DateFormat dfq = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
Date date1 = dfq.parse(dateq.trim());

并且它会起作用。

这篇关于如何解决将字符串日期从XML文件转换为int格式的错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆