如何通过Flex使用Java格式化时间?

问题描述 投票:4回答:2

我进入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"`
java apache-flex
2个回答
0
投票
此格式化程序有效:

DateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'GMT'Z yyyy");


0
投票
@@ 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对象然后可以用于日期/时间计算,或使用其他格式化程序呈现为字符串,或执行任何所需的操作。
© www.soinside.com 2019 - 2024. All rights reserved.