gpt4 book ai didi

java - 我想在 Java 中获取格式化的日期

转载 作者:行者123 更新时间:2023-11-29 08:09:55 24 4
gpt4 key购买 nike

我想获得一个新的 Date 对象,并应用了 SimpleDateFormat。我想做类似的事情:

SimpleDateFormat myFormat = new SimpleDateFormat("dd MMM yyyy kkmm");
Date today = new Date();
today = myFormat.format(today);

我不能这样做,因为今天是一个日期format 返回一个String。我也试过:

Date today;
SimpleDateFormat myFormat = new SimpleDateFormat("dd MMM yyyy kkmm");
try{
today = myFormat.parse((new Date()).toString());
}catch(Exception e){

}

这不是一个好的解决方案,因为当我尝试在其他地方使用 today 时,Java 会提示 today 可能没有被实例化。更改 Date 对象格式(同时仍将其保留为 Date 对象,而不是将其转换为字符串)的好方法是什么?

最佳答案

您看错了格式和日期。

  • 日期不包含格式。日期只是一个包含日期信息(如日期、月份、小时、秒等)的类。
  • SimpleDateFormat 是一种告诉您日期的字符串表示形式的格式。但没有与之相关的日期。

因此,当您必须显示日期或必须以某种字符串表示形式存储日期时,您将使用 SimpleDateFormat 并将您想要的字符串表示形式传递给它。

这样做的一个好处是,我可以使用相同的 Date 对象并可以显示两种不同的字符串表示形式(使用 SimpleDateFormat 的两个不同实例)。反之亦然,定义一个 SimpleDateFormat 实例后,我可以格式化多个日期。

编辑:

现在,如果您想从日期中删除一些信息。使用

Calendar rightNow = Calendar.getInstance();
Calendar cal = new GregorianCalendar(
rightNow.get(YEAR),
rightNow.get(MONTH),
rightNow.get(DAY_OF_MONTH));
Date now = cal.getTime();

还有其他不错的解决方案,比如JodaTime

引用:

GregorianCalendar Calendar Joda Time

关于java - 我想在 Java 中获取格式化的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703773/

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