繁体   English   中英

Java SimpleDateFormat解析问题

[英]Java SimpleDateFormat parsing issue

我正在尝试使用 SimpleDateFormat class 解析从 Java 中的网站出来的日期字符串,但出现了问题,我不知道为什么。

日期字符串采用以下语法:

"13:37 - Tue 28-Jun-2011"

所以我尝试执行以下操作:

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
ParsePosition pos = new ParsePosition(0);   
Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011", pos);

正如我之前所说,这是行不通的; 当我打印

System.out.println(pos.getErrorIndex());

它打印“8”,我认为这意味着错误在 EEE 部分附近。 我尝试了不同的排列,但没有任何效果。 我究竟做错了什么?

谢谢

邦普夫

如果您尝试解析日期,这将起作用。 我不知道你想用ParsePosition做什么

   SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
   Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011");
   System.out.println(d);

这对我来说可以...

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
ParsePosition pos = new ParsePosition(0);   
Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011", pos);

System.out.println(pos.getErrorIndex());
System.out.println(d);

Output -

-1
Tue Jun 28 13:37:00 EDT 2011

我发现了问题:我不知道我必须为日期格式设置区域设置..

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy", Locale.ENGLISH);

这现在有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM