为了账号安全,请及时绑定邮箱和手机立即绑定

在java中获取没有时间的日期

在java中获取没有时间的日期

尚方宝剑之说 2024-01-05 16:34:15
我想得到一个没有时间的约会,但总是失败。下面是我的代码:    long curLong = System.currentTimeMillis();    curLong = curLong -  curLong % TimeUnit.DAYS.toMillis(1);    Date date = new Date(curLong);    System.out.println("date = " + date);输出:date = Mon Oct 28 08:00:00 CST 2019有人知道为什么吗?谢谢
查看完整描述

4 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

不建议java.util.Date再使用了。它被调用Date,但不一定只包含日期信息,还包含有关时间的信息。

用这个:

LocalDate today = LocalDate.now();

并将其打印为

System.out.println(today.format(DateTimeFormatter.ISO_DATE);

使用 ISO 日期格式。您可以使用定义自己的格式模式

DateTimeFormatter.ofPattern("dd.MM.yyyy");

例如。


查看完整回答
反对 回复 2024-01-05
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

java.util.Date的 javadoc 指出:

该类Date表示特定的时刻,精度为毫秒。

这就是为什么你和时间有约会

如果你想要一个日期,你可以使用:java.time.LocalDate.now()(Java 8+)


查看完整回答
反对 回复 2024-01-05
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

首先,停止使用旧的java.util.Date. 新的 Java 8 日期和时间 API 为所有日期和时间操作提供了更好的类。

该类LocalDate完全按照您的要求进行。当前日期可以通过 获取LocalDate.now()

它还具有许多功能来添加和减去天、月等,并且它会考虑到您的所有日历特殊情况。


查看完整回答
反对 回复 2024-01-05
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

您可以用来java.time.LocalDate.now()获取日期。

不管怎样,你的情况并没有像你预期的那样工作,因为你没有做任何事情来删除日期中的时间:你只是“压制”它,这就是为什么它为零。如果你想继续这种方式,你可以随时substring这样做(Date.toString()当然我的意思是子串)。

希望我有所帮助。


查看完整回答
反对 回复 2024-01-05
  • 4 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信