相关疑难解决方法(0)

如何在Android Project中使用ThreeTenABP

我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.

对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:

>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)

datetime android android-gradle-plugin threetenbp threetenabp

169
推荐指数
3
解决办法
2万
查看次数

重置Java中时间戳的时间部分

在Java中,给定时间戳,如何将时间部分单独重置为00:00:00,以便时间戳表示该特定日期的午夜?

在T-SQL中,此查询将实现相同的目标,但我不知道如何在Java中执行此操作.

SELECT CAST( FLOOR( CAST(GETDATE() AS FLOAT ) ) AS DATETIME) AS 'DateTimeAtMidnight';

java sql timestamp

39
推荐指数
3
解决办法
5万
查看次数

获取Java日期或日历的Time组件

是否有一种简单或优雅的方法只能抓取Java Date(或日历)的一天中的时间(小时/分钟/秒/毫秒),这对我来说无关紧要?我正在寻找一种分别考虑日期(年/月/日)和时间部分的好方法,但据我所知,我不得不分别访问每个字段.

我知道我可以编写自己的方法来单独抓取我感兴趣的字段,但我会把它作为一个静态的实用方法,这很难看.另外,我知道Date和Calendar对象具有毫秒级的精度,但在任何一种情况下我都没有办法访问毫秒组件.


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

@ Jherico的回答是最接近的事情,我想,但绝对是我仍需要采用我自己编写的方法.这不是我想要的,因为它仍然包括返回毫秒值的小时,分​​钟和秒 - 尽管我可能会使它适合我的目的.

我仍然认为每个组件是分开的,当然,它们不是.您可以将时间写为自任意参考日期以来的毫秒数,或者您可以写出完全相同的时间year/month/day hours:minutes:seconds.milliseconds.

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


编辑2:我的原始问题来自我发现自己编写的一小组实用函数 - 例如:

  • 检查两个Dates 是否代表同一天的日期时间;
  • 检查日期是否在由其他两个日期指定的范围内,但有时检查包含,有时不检查,具体取决于时间组件.

Joda Time有这种功能吗?


编辑3: @乔恩的问题,关于我的第二个要求,我只想澄清:第二个要求是用我的日期有时代表了整个天的结果-在时间组件并不在所有问题-有时代表一个日期-时间(这是IMO,包含year/month/day 和的 东西最准确的单词hours:minutes:seconds:....

当Date表示整天时,其时间部分为零(例如Date的"time component"为午夜),但语义规定范围检查在结束日期包含.因为我只是将这个检查留给Date :: before和Date :: after,所以我必须在结束日期添加1天 - 因此当Date的时间组件为零时的特殊外壳.

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

java time calendar date

16
推荐指数
2
解决办法
3万
查看次数