java 时间组件,获取Java日期或日历的时间组件

有没有一种简单或优雅的方式来抓住Java Date的一部分时间(小时/分钟/秒/毫秒)(或日历,对我来说无关紧要)?我正在寻找一个很好的方式来分开考虑日期(年/月/日)和时间部分,但据我所知,我被困在分别访问每个字段.

我知道我可以编写自己的方法来单独抓取我感兴趣的字段,但是我会做一个静态的实用程序方法,这是很丑的.此外,我知道Date和Calendar对象具有毫秒精度,但是在这两种情况下,我都没有看到访问毫秒组件的方法.

编辑:我不清楚这一点:使用Date :: getTime()或Calendar :: getTimeInMillis之一对我来说并不是非常有用的,因为那些返回从时代开始的毫秒数(由该日期或日历表示) ,这实际上并没有将时间与剩余的信息分开.

@ Jherico的答案是最接近的事情,我认为,但绝对是我仍然需要自己编写的方法.这不是我要去的,因为它仍然包括返回的毫秒值中的几分钟,几分钟和秒 – 尽管我可能使它为我的目的工作.

我仍然认为每个组件是分开的,虽然当然不是.你可以写一个时间作为任意引用日期的毫秒数,或者你可以写出与年/月/日小时完全相同的时间:分钟:秒.毫秒.

这不是出于显示的目的.我知道如何使用DateFormat来制作漂亮的日期字符串.

编辑2:我的原始问题来自我发现自己写的一小部分效用函数 – 例如:

>检查两个日期是否在同一天表示日期时间;

>检查日期是否在两个其他日期指定的范围内,但有时根据时间分量包含检查,有时不检查.

Joda Time有这种功能吗?

编辑3:@乔恩关于我的第二个要求的问题,只是为了澄清:第二个要求是使用我的日期有时代表整个日子的结果 – 时间部分根本不重要 – 有时代表日期时间(这是IMO,最准确的词包含年/月/日和小时:分钟:秒:…).

当日期代表一整天时,其时间部分为零(例如日期的“时间分量”为午夜),但语义规定范围检查在结束日期包括在内.因为我刚刚离开这个检查到Date :: before和Date ::之前,我必须添加1天到结束日期 – 因此日期的时间分量为零时的特殊情况.

希望没有让事情不那么清楚.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值