Tag: parseexception

尝试String to Date解析时出现Java ParseException

我很难解析/格式化从Web服务收到的日期字符串。 我试过多种方法,但没有运气。 示例日期字符串: 2011-10-05T03:00:00Z 例外: W/System.err(10072): java.text.ParseException: Unparseable date: “2011-10-05T05:00:00Z” (at offset 10) W/System.err(10072): at java.text.DateFormat.parse(DateFormat.java:626) 示例代码: SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:SSSS”); Date date = formatter.parse(info.AiringTime); 我发现如果我删除日期和时间之间的“T”并用空格替换它,它将格式化得很好。 有人有什么建议吗? –UPDATE– 深入研究API文档后,我发现了这个: 所有响应DateTime值均为UTC格式。 您需要应用UTC偏移量来计算显示的本地时间。 DateTime是以下列格式之一指定的日期和时间值: UTC格式:YYYY-MM-DDThh:mm:ssZ。 例如:2011-03-15T02:00:00Z。 偏移的当地时间:YYYY-MM-DDThh:mm:ss +或 – hh:mm(正偏移或负偏移)。 例如,美国太平洋时间:2011-03-14T06:00:00-08:00。 有关UTC格式方法的任何建议吗?

SimpleDateFormat方法解析中可能出现的错误

我收到一个表示日期的字符串,我需要将此字符串转换为日期,并validation字符串是否为有效日期。 我收到字符串33-12-2013一个解析方法返回日期01-01-2014,代码: Date fechaVencimientoFormateada; SimpleDateFormat formateador = new SimpleDateFormat( “dd-MM-yyyy” ); try { fechaVencimientoFormateada = formateador.parse( “33-12-2013” ); System.out.println( formateador.format(fechaVencimientoFormateada) ); } catch ( ParseException e ) { System.out.println(“ERROR!”); } 输出:2014年1月2日00:00:00 COT 2014 我期待一个ParseException,任何想法? 和其他例子: 字符串日期:365-12-2013输出:2014年11月30日00:00:00 COT 2014 字符串日期:1-24-2013输出:2014年12月1日00:00:00 COT 2014 为什么ParseException不抛?

java.text.ParseException:无法解析的日期:yyyy-MM-dd HH:mm:ss.SSSSSS

我得到以下代码的ParseException String dateStr = “2011-12-22 10:56:24.389362”; String formatStr = “yyyy-MM-dd HH:mm:ss.SSSSSS”; Date testDate = null; SimpleDateFormat sdf= new SimpleDateFormat(formatStr); sdf.setLenient(false); testDate = sdf.parse(dateStr); System.out.println(“CHECK DATE ” + sdf.format(testDate)); Exception in thread “main” java.text.ParseException: Unparseable date: “2011-12-22 10:56:24.389362” at java.text.DateFormat.parse(DateFormat.java:337) 如果我注释掉行sdf.setLenient(false) ,那么我会看到输出的时间差CHECK DATE 2011-12-22 11:02:53.000362 我究竟做错了什么??

当str = 2011/12 / 12aaaaaaaaa时,SimpleDateFormat parse(string str)不会抛出exception?

这是一个例子: public MyDate() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat(“yyyy/MM/d”); sdf.setLenient(false); String t1 = “2011/12/12aaa”; System.out.println(sdf.parse(t1)); } 2011/12 / 12aaa不是有效的日期字符串。 但是,该function打印“2011年12月12日00:00:00 PST”,并且不会抛出ParseException。 谁能告诉我如何让SimpleDateFormat将“2011/12 / 12aaa”视为无效的日期字符串并抛出exception?