簡體   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