gpt4 book ai didi

java - 在Java中转换日期时出现异常

转载 作者:行者123 更新时间:2023-12-01 18:40:56 25 4
gpt4 key购买 nike

我正在尝试使用下面提到的代码将下面提到的日期转换为 yyyMMdd。

String dateString = "1st August 2012";
SimpleDateFormat simp_date=new SimpleDateFormat("yyyyMMdd");
try
{
dateString=simp_date.format(new Date(dateString));
}
catch(Exception e)
{
e.printStackTrace();
}

我的表现低于预期。

非法参数异常

有人可以帮我吗?提前致谢。

最佳答案

首先,你不应该使用构造函数 Date(String) ,因为它已被弃用。这里您需要首先使用某种格式解析日期字符串,将其转换为 Date 对象,然后将该 Date 对象格式化为所需的格式。

下面的代码可以工作:

String dateString = "1st August 2012";

// Format for parsing the dateString
SimpleDateFormat parser = new SimpleDateFormat("d'st' MMM yyyy");

// To format the resultant Date object to new String format
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

try {
dateString = formatter.format(parser.parse(dateString));

} catch(Exception e) {
e.printStackTrace();
}

System.out.println(dateString);

我建议您转向JodaTime ,一个比 Java 的 DateCalendar 更强大的 DateTime API。您会惊讶地发现使用它来处理日期是多么容易。事实上,Java 8 引入了一个仅基于 JodaTime 的全新日期时间 API。

关于java - 在Java中转换日期时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19994490/

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