如何在 jodatime 中管理纯 hh:mm:ss (没有任何关联日期)?

发布于 2024-12-11 03:09:21 字数 265 浏览 1 评论 0原文

例如

DateTime dt=new DateTime(java.sql.Time.valueOf("00:00:00"));
dt.minusMinutes(20); // this line would have no effect!

问题是新的 DateTime 将日期设置为“1970 年 1 月 1 日”

修复可能是设置实际日期,然后它给出了一个很大的时间倒退范围,但我认为这不是标准方式,也不是纯粹的 hh:毫米:SS。

For example

DateTime dt=new DateTime(java.sql.Time.valueOf("00:00:00"));
dt.minusMinutes(20); // this line would have no effect!

The problem is that new DateTime set date at "January 1, 1970"

A fix could be setting actual date, then it gives a big range to go backward in time, but I think it's not the standar way and neither pure hh:mm:ss.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不喜欢何必死缠烂打 2024-12-18 03:09:21

我认为你在这里混淆了一些东西。 JodaTime 中的所有内容都是不可变的,要看到效果,您需要重新分配变量:

DateTime dt = new DateTime(java.sql.Time.valueOf("00:00:00"));
DateTime dt2 = dt.minusMinutes(20); // but this line would have effect!

I think you are confusing something here. Everything in JodaTime is immutable, to see an effect you need to re-assign the variable:

DateTime dt = new DateTime(java.sql.Time.valueOf("00:00:00"));
DateTime dt2 = dt.minusMinutes(20); // but this line would have effect!
Oo萌小芽oO 2024-12-18 03:09:21

使用 LocalDate date = dt.toLocalDate();

LocalDate Javadoc。

Use LocalDate date = dt.toLocalDate();

LocalDate Javadoc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文