当我在一个代表1970年1月1日的日期设置月份,然后立即返回月份时,它会被一个人关闭.
import java.util.Date;
@Test
public void monthShouldBeExpectedValue() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(0));
int expectedMonth = Calendar.JUNE;
calendar.set(Calendar.MONTH, expectedMonth);
int actualMonth = calendar.get(Calendar.MONTH);
assertThat(actualMonth, equalTo(expectedMonth)); // test fails: expected 5 got 6
}
Run Code Online (Sandbox Code Playgroud)
如果我改变这一行
calendar.setTime(new Date(0));
Run Code Online (Sandbox Code Playgroud)
至
calendar.setTime(new Date()); // use 'today' instead of 1/1/1970
Run Code Online (Sandbox Code Playgroud)
然后测试通过.谁知道为什么?
编辑
日期的印刷版本是:
new Date(0): Wed Dec 31 19:00:00 EST 1969
date from calendar: Tue Jul 01 19:00:00 EDT 1969
Run Code Online (Sandbox Code Playgroud)
我正在运行一个旧的JDK:1.6.0_30-b12(64位)
我在东部标准时间.
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |