![]() |
1
149
我建议你用最好的 Joda Time 而不是有缺陷的java.util.Date和friends。你可以简单地写
|
|
2
48
我可能来不及参加比赛了,但怎么回事 你认为这是线程问题吗?例如,您如何使用此方法的输出?或者 我们能否将您的代码更改为执行以下简单的操作:
|
![]() |
3
23
diff/(24*etc)不考虑时区,因此如果您的默认时区中有DST,则可以取消计算。 这个 link 有一个很好的小实现。 如果链接断开,以上链接的来源如下:
和
|
![]() |
4
16
java.time文件在Java8及更高版本中,使用 java.time framework ( Tutorial ).
|
![]() |
5
13
|
![]() |
6
12
|
![]() |
7
9
使用毫秒时间差的解决方案,并对DST日期进行正确的舍入:
注意:当然,日期必须在某个时区。 重要代码:
如果不想轮换,可以使用UTC日期, |
![]() |
8
4
问题的说明:(我的代码是以周为单位计算delta,但同样的问题也适用于以天为单位的delta) 下面是一个看起来非常合理的实现:
原因是:
|
![]() |
9
3
我使用这个函数:
我的职能:
|
![]() |
10
2
getFragmentInDays
apache commons lang类中的方法
|
![]() |
11
2
基于@Mad\u Troll的答案,我开发了这个方法。 我已经针对它运行了大约30个测试用例,这是唯一能够正确处理子日时间片段的方法。
做
您可以删除
|
![]() |
12
1
你说它“在一个独立的程序中工作得很好”,但当你“把它包含到我的逻辑中去阅读报告”时,你会得到“不寻常的差异值”。这表明您的报表有一些无法正常工作的值,而您的独立程序没有这些值。我建议使用一个测试用例,而不是一个独立的程序。编写一个测试用例就像编写一个独立程序一样,从JUnit的TestCase类中进行子类化。现在,您可以运行一个非常具体的示例,知道您期望的值是什么(今天不要给出测试值,因为今天会随着时间的推移而变化)。如果您输入在独立程序中使用的值,您的测试可能会通过。太好了-你想让那些案子继续运作。现在,从报告中添加一个值,一个不正确的值。你的新考试可能会失败。找出它失败的原因,修复它,然后进入绿色(所有测试都通过)。运行你的报告。看看还有什么东西坏了;写一个测试;让它过去。很快你就会发现你的报告起作用了。 |
![]() |
13
1
这个基本函数有一百行代码??? 只是一个简单的方法:
|
![]() |
14
1
|
![]() |
15
1
额外的310
这个
Answer by Vitalii Fedorenko
是正确的,描述了如何使用
java.time
班级(
|
![]() |
16
0
此代码计算两个日期字符串之间的天数:
|
![]() |
17
0
如果你正在寻找一个解决方案,返回正确的数字或天数之间,例如。
此实现将返回
|
![]() |
18
0
您应该使用Joda时间库,因为Java Util Date有时返回错误的值。 Joda vs Java Util日期 例如,从昨天(dd-mm-yyy,12-07-2016)到1957年的第一天(dd-mm-yyy,01-01-1957)之间的几天:
|
|
19
-6
|