gpt4 book ai didi

java - 简单日期格式解析异常 : Unparseable date

转载 作者:行者123 更新时间:2023-11-29 06:39:03 26 4
gpt4 key购买 nike

我正在尝试执行这段代码:

Date date = null;
if (detailsBean.getDiscoveryProjectBean ().getCreatedDate ()==null ||
detailsBean.getDiscoveryProjectBean ().getCreatedDate ().equalsIgnoreCase(""))
{
projectDetails.getDiscoveryProject().setCreationTime(new Date());
}
else
{
try
{
date = new SimpleDateFormat (FormatUtils.simpleFormat).
parse (detailsBean.getDiscoveryProjectBean ().getCreatedDate ());
} catch (Exception e) {
throw new PanDaApplicationException (e.getMessage ());
}
projectDetails.getDiscoveryProject().setCreationTime(date);
}

在 try block 中抛出 ParseException 异常。但是,我不知道原因,因为代码看起来不错。 FormatUtils.simpleFormat 的定义是 public static final String simpleFormat = "dd-MMM-yyyy"detailsBean.getDiscoveryProjectBean().getCreatedDate() 的值类似于 28-Feb-2013

我真的不知道为什么会抛出这个异常,我需要帮助。

最佳答案

我的猜测是问题在于 SimpleDateFormat 使用您的默认语言环境的方式 - 如果您的语言环境不使用“Feb”作为缩写的月份名称,您就会遇到问题。因此,如果您的所有数据实际上都是英文的,您可能需要:

DateFormat format = new SimpleDateFormat(FormatUtils.simpleFormat, Locale.US);
format.setTimeZone(...); // See below
date = format.parse(detailsBean.getDiscoveryProjectBean().getCreatedDate());

注意关于设置时区的部分。同样,如果您未指定任何其他内容,SimpleDateFormat 将使用您的系统默认值。 (您将获得“指定时区的午夜”时刻作为 Date 值。)

我还强烈建议您考虑使用 Joda Time而不是内置的 Date/Calendar 类型 - 它是一个更好的日期/时间 API。

关于java - 简单日期格式解析异常 : Unparseable date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15184231/

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