ntl*_*lam 1 java grails groovy datetime date
Date day1 = set_datetime(2017, Calendar.JUNE, 28, 8, 00, 0);
Date day2 = set_datetime(2017, Calendar.JUNE, 28, 10, 00, 0);
def set_datetime(int year, int month, int day, int hour, int minute, int second) {
Calendar cal = Calendar.getInstance();
cal.set(year, month, day, hour, minute, second);
Date cal_date = cal.getTime();
return cal_date
}
println "\t\t (day2.getTime() - day1.getTime()) = " + (day2.getTime() - day1.getTime())
Run Code Online (Sandbox Code Playgroud)
(day2.getTime() - day1.getTime()) = 7199996
为什么不是7200000毫秒?这里有点不对劲.因为当我从毫秒转换为小时时,7199996不是2小时(7200000)
你没有清除毫秒字段.
加
cal.clear();
Run Code Online (Sandbox Code Playgroud)
cal.set(...);在行之前,或添加
cal.set(Calendar.MILLISECONDS, 0);
Run Code Online (Sandbox Code Playgroud)
更一般地说,不要使用java.util.Calendar和java.util.Date:它们是旧的,设计不良的类,与众所周知的错误相冲突.
使用java.timeJava 8中引入的包中的类; 或早期版本的Java上的threetenbp或JodaTime 类.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |