gpt4 book ai didi

Java 获取当前日期不带时间戳的程序

转载 作者:太空狗 更新时间:2023-10-29 22:58:49 25 4
gpt4 key购买 nike

我需要一个 Java 程序来获取没有时间戳的当前日期:

Date d = new Date();

给我日期和时间戳。

但我只需要日期,不需要时间戳。我使用此日期与另一个没有时间戳的日期对象进行比较。

关于打印

System.out.println("Current Date : " + d)

d 它应该打印 May 11 2010 - 00:00:00

最佳答案

java.util.Date 对象一种时间戳 - 它包含自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。因此,您不能使用标准的 Date 对象来仅包含日/月/年,而不包含时间。

据我所知,在标准 Java API 中,通过仅考虑日期(而不是时间)并没有真正简单的方法来比较日期。您可以使用类 Calendar 并清除小时、分钟、秒和毫秒:

Calendar cal = Calendar.getInstance();
cal.clear(Calendar.HOUR_OF_DAY);
cal.clear(Calendar.AM_PM);
cal.clear(Calendar.MINUTE);
cal.clear(Calendar.SECOND);
cal.clear(Calendar.MILLISECOND);

对包含要与之比较的日期的另一个 Calendar 对象执行相同操作,并使用 after()before() 方法进行比较。

正如在 java.util.Calendar.clear(int field) 的 Javadoc 中解释的那样:

The HOUR_OF_DAY, HOUR and AM_PM fields are handled independently and the the resolution rule for the time of day is applied. Clearing one of the fields doesn't reset the hour of day value of this Calendar. Use set(Calendar.HOUR_OF_DAY, 0) to reset the hour value.

编辑 - 以上答案来自 2010 年;在 Java 8 中,包 java.time 中有一个新的日期和时间 API,它比旧的 java.util.Date 更强大和有用>java.util.Calendar 类。使用新的日期和时间类而不是旧的。

关于Java 获取当前日期不带时间戳的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2806360/

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