日期:2014-05-20  浏览次数:20741 次

java.uti.Date一個問題
我想得到當前時間的當天日期範圍
比如現在是   2007-3-1   13:24:59
要得到     2007-3-1   00:00:00     和     2007-3-2   00:00:00

long   now=System.currentTimeMillis();
Date   curDate=new   Date(now);


Date   todayBegin=new   Date(now-(now%(24*60*60*1000)));
Date   todayEnd=new   Date(now-(now%(24*60*60*1000))+24*60*60*1000);
爲什麽得到的結果不准缺呢?誰告訴我原因

------解决方案--------------------
不准确?运行了下没问题啊
------解决方案--------------------
想得到什么结果呢?好像没什么问题
------解决方案--------------------
Date date = new Date();
DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd ");
Date todayBegin = formatter.parse(formatter.format(date));
Date todayEnd = new Date(todayBegin.getTime()+24*60*60*1000);
------解决方案--------------------
小学地理学过,我们是东8区。currentTimeMillis取得的值基准是格林威治时间。
------解决方案--------------------
时区的原因
------解决方案--------------------
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date begin = cal.getTime();
cal.add(Calendar.DAY_OF_YEAR, 1);
Date end = cal.getTime();