如何用Java和Flex化时间?

wnvonmuf  于 2022-09-21  发布在  Java
关注(0)|答案(2)|浏览(128)

我得到了flex字符串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"`
w7t8yxp5

w7t8yxp51#

@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对象进行日期/时间计算,或者使用另一个格式化程序将其呈现为字符串,或者执行任何需要的操作。

icnyk63a

icnyk63a2#

此格式化程序可以工作:

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

相关问题