当前位置: 首页 > 面试题库 >

我想用Java获取格式化的日期

张瀚漠
2023-03-14
问题内容

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

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

我无法执行此操作,因为今天是Date,并且format返回String。我也尝试过:

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

}

这不是一个很好的解决方案,因为当我今天尝试在其他地方使用Java时,它抱怨今天可能尚未实例化。什么是更改Date对象格式的好方法(同时仍将其保留为Date对象,而不是将其转换为字符串)?


问题答案:

您正在错误地查看格式和日期。

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

因此,想法是当您必须显示日期或必须以某种字符串表示形式存储日期时,将使用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这样的优质产品

参考:

阳历
日历
乔达时间



 类似资料:
  • 问题内容: 我有以下字符串: 我需要将其格式化为这样的字符串: 我如何用Java做到这一点? 问题答案: 使用(单击javadoc链接以查看模式)将一个模式中的字符串解析为完全值,并使用另一模式将解析出的字符串格式化为另一模式中的字符串。

  • 我想展示这样的东西

  • 主要内容:DateFormat 类,SimpleDateFormat 类格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式。例如将日期“Fri May 18 15:46:24 CST2016” 格式转换为 “2016-5-18 15:46:24 星期五”的格式。 在 Java 中,可以使用 DateFormat 类和 SimpleDateFormat 类来格式化日期,下面详细介绍这两个格式化日期类的使用。 DateFormat 类 DateFormat 是日

  • 问题内容: 有什么帮助,如何从这样的字符串中获取正确的日期,例如“ 2014-01-10T09:41:16.000 + 0000”,我的代码是: 结果中,我给出了这样的结果:“ 10-0-2014”,我想要这样的结果:“ 10-01-2014” 提前致谢 :) 问题答案: 该文档指出: java.util.Calendar.MONTH MONTH public static final int M

  • 问题内容: 我想将当前日期格式化为一种格式,可以在以下几行中进行 但是,有没有一种更清晰,更整洁的方法来实现这一目标? 问题答案: 使用Java 8和新类,并将其格式化为。不要在Java 7及更低版本中使用。那个旧的API很烂。 输出:

  • 问题内容: 我有以下由时间戳记中的模型值填充的文本输入: 它将输入值显示为给定的时间戳。 我想将输入中可见的值转换为格式化日期(YYYY / MM / DD),但在模型中应始终将其作为时间戳记。 我试图通过这种方式做到这一点: 但是没有运气。 感谢您的任何建议。 问题答案: 您可以尝试过滤器 的HTML 控制器JS