//beginDate = '2013-03-06 00:00:00'
//endDate = '2013-03-08 00:00:00'
public static int intervalDay(String beginDate,String endDate){
DateFormat dfs1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat dfs2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date begin = null;
Date end = null;
try {
begin = dfs1.parse(beginDate);
end = dfs2.parse(endDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long a = end.getTime()/1000;
//美国时间 end.getTime() 1363615810000 || '2013-03-18 12:00:00'
long b = begin.getTime()/1000;
//美国时间 begin.getTime() 1362546000000 || '2013-03-06 13:00:00'
long between = (a-b);//除以1000是为了转换成秒
int day = (int) (between/(24*3600));
return day;
}
中国计算时间间隔应该是12
美国计算出来的为11
0
顶
3
踩
分享到:
2013-03-20 15:13
浏览 804
评论
2 楼
xs.cctv
2013-03-20
fireaap 写道
long a = end.getTime()/1000;
//美国时间 end.getTime() 1363615810000 || '2013-03-18 12:00:00'
long b = begin.getTime()/1000;
//美国时间 begin.getTime() 1362546000000 || '2013-03-06 13:00:00'
long between = (a-b);//除以1000是为了转换成秒
int day = (int) (between/(24*3600));
-->
long a = end.getTime();
//美国时间 end.getTime() 1363615810000 || '2013-03-18 12:00:00'
long b = begin.getTime();
//美国时间 begin.getTime() 1362546000000 || '2013-03-06 13:00:00'
long between = (a-b);//不要除以1000,以免带来舍入误差
int day = (int) (between/(24*3600*1000));
除以1000是为了计算秒,跟时间差没有关系
1 楼
fireaap
2013-03-20
long a = end.getTime()/1000;
//美国时间 end.getTime() 1363615810000 || '2013-03-18 12:00:00'
long b = begin.getTime()/1000;
//美国时间 begin.getTime() 1362546000000 || '2013-03-06 13:00:00'
long between = (a-b);//除以1000是为了转换成秒
int day = (int) (between/(24*3600));
-->
long a = end.getTime();
//美国时间 end.getTime() 1363615810000 || '2013-03-18 12:00:00'
long b = begin.getTime();
//美国时间 begin.getTime() 1362546000000 || '2013-03-06 13:00:00'
long between = (a-b);//不要除以1000,以免带来舍入误差
int day = (int) (between/(24*3600*1000));