我正在使用flex String Sat Aug 4 13:10:00 GMT+0530 2012
所以在我的Java程序中我正在转换
try {
String str_date = "Sat Aug 4 13:10:00 GMT+0530 2012";
DateFormat formatter = new SimpleDateFormat(
"EEE MMM dd HH:mm:ss zzzz yyyy");
Date date = (Date) formatter.parse(str_date);
System.out.println(date);
} catch (ParseException e) {
System.out.println("Exception :" + e);
}
但它给出了
`Exception :java.text.ParseException: Unparseable date: "Sat Aug 4 13:10:00 GMT+0530 2012"`
答案 0 :(得分:1)
@Florent的回答很好,但是自从编写以来,Java已经获得了新的日期/时间包。这是在Java 8及更高版本中执行此操作的一种方法:
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
// ...
String input = "Sat Aug 4 13:10:00 GMT+0530 2012";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss 'GMT'Z yyyy");
LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
然后dateTime
对象可用于日期/时间计算,或者使用其他格式化程序或您需要执行的任何操作将其呈现为字符串。
答案 1 :(得分:0)
此格式化程序有效:
DateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'GMT'Z yyyy");