gpt4 book ai didi

java - SimpleDateFormat 抛出 ParseException

转载 作者:行者123 更新时间:2023-12-01 17:24:46 24 4
gpt4 key购买 nike

我现在有这两个方法。按照场景,当我从数据库中获取数据字段时,它是 BigDecimal 格式。所以我决定为它编写一个测试(formatDate() 方法)。我将 BigDecimal 传递给该方法,但看来我写了一些错误的代码。从我在示例和 SimpleDateFormat API 中看到的内容来看,我认为我已经正确编写了代码,但我似乎无法弄清楚让它抛出 parseEx 出了什么问题。有人可以告诉我发生了什么事吗?

private void loadMap() {
//TODO: Uncomment when finished testing.
//DO OTHER STUFF
BigDecimal bd = new BigDecimal(12051998);
System.out.println(formatDate(bd));
}

private String formatDate(BigDecimal bd) {
String value = bd.toString();
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
try {
return format.parse(value);
} catch (ParseException pEx) {
logger.error(pEx);
return "Bad Date Format";
}
}

提前致谢,最诚挚的问候,

  • 乔什

最佳答案

SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");

应该是

SimpleDateFormat format = new SimpleDateFormat("MMddyyyy");

return format.parse(value);//value 应该是 Date 类型而不是 String

尝试将日期格式从 MMddyyyy 更改为 MM/dd/yyyy:这对我来说效果很好。

public static void main(String[] args) throws ParseException {
BigDecimal bd = new BigDecimal(12051998);
String s = bd.toString();
System.out.println(s);
DateFormat originalFormat = new SimpleDateFormat("MMddyyyy");
DateFormat targetFormat = new SimpleDateFormat("MM/dd/yyyy");
Date date = originalFormat.parse(s);
String formattedDate = targetFormat.format(date);
System.out.println(formattedDate);
}

输出:

12051998
12/05/1998

关于java - SimpleDateFormat 抛出 ParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15881948/

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