gpt4 book ai didi

Java:SimpleDateFormat 在解析时抛出异常

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:59:07 26 4
gpt4 key购买 nike

我使用 SimpleDataFormat 多年。我从来没有得到这个 Exception

程序如下,我从网上得到了这个例子的代码:

    public static void main(String[] args) {
// Make a new Date object. It will be initialized to the
// current time.
Date now = new Date();

// Print the result of toString()
String dateString = now.toString();
System.out.println(" 1. " + dateString);

// Make a SimpleDateFormat for toString()'s output. This
// has short (text) date, a space, short (text) month, a space,
// 2-digit date, a space, hour (0-23), minute, second, a space,
// short timezone, a final space, and a long year.
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");

// See if we can parse the output of Date.toString()
try {
Date parsed = format.parse(dateString);
System.out.println(" 2. " + parsed.toString());
}
catch(ParseException pe) {
System.out.println("ERROR: Cannot parse \"" + dateString + "\"");
}

// Print the result of formatting the now Date to see if the result
// is the same as the output of toString()
System.out.println(" 3. " + format.format(now));
}

好吧,非常简单。

结果:

 1. Wed Aug 08 13:49:05 BRT 2012
ERROR: Cannot parse "Wed Aug 08 13:49:05 BRT 2012"
3. Qua Ago 08 13:49:05 BRT 2012

您看到 2. 抛出了一个错误吗?对我来说,一切都是正确的。

我应该设置任何语言环境吗?

我的操作系统:Windows 7 专业版,Service Pack 1JDK:jdk1.6.0_25

最佳答案

看起来这是一个语言环境问题,是的。如果您查看输出,它不会使用英文月份和日期名称 - 因此它也无法解析它们。尝试在创建 SimpleDateFormat 时指定英语:

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",
Locale.US);

关于Java:SimpleDateFormat 在解析时抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11869422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com