JodaTime获取当前时间距离当天开始的毫秒数

6

我正在尝试获取从当天开始的当前毫秒数。所以我想进行以下计算:86400000 - 从当天开始的当前毫秒数。如有帮助,将不胜感激。谢谢!


3
currentTimeMillis() % (246060*1000) - Subin Sebastian
@SubinS 首先感谢你。另外,我在弄清楚在我的新DateTime()变量中应该放置这个的位置时遇到了麻烦。 - Mr. Smee
1
长的 diff 变量等于 currentTimeMillis() % (246060*1000);DateTime diffDate = new DateTime(diff); - Subin Sebastian
2个回答

12
long result = new DateTime().millisOfDay().getMillis();  
long result = new DateTime().getMillis() - new DateTime().withMillisOfDay(0).getMillis();  
或者
long result = new LocalTime().get(DateTimeFieldType.millisOfDay());

3
getMillis()实际上是私有的,你可以使用DateTime().getMillisOfDay()代替。 - moretti.fabio
1
@moretti.fabio http://joda-time.sourceforge.net/apidocs/org/joda/time/base/BaseDateTime.html#getMillis()。它是公共的。 - Ilya
但是 millisOfDay() 不会返回 long 类型,而是返回 'org.joda.time.Property'。 - JBoy
@JBoy millisOfDay().getMillis() 返回 long - Ilya
在JodaTime 2.9.9中,getMillis()是受保护的。 - Carson Holzheimer
显示剩余2条评论

2
您可以使用jodatime库中的DateMidnight来获取一天的开始。
long todayStart = new DateMidnight().getMillis();

虽然DateTime构造函数会将其毫秒字段设置为当前值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接