我正在构建一个Android应用程序,它计算用户的步骤。目的是计算从前一天午夜到每天午夜的步数。这就是我设置Calendar对象的方法。这真是一个Java问题。
Calendar cal = Calendar.getInstance();
Date now = new Date();
cal.setTime(now);
long endTime = cal.getTimeInMillis();
cal.add(Calendar.DAY_OF_WEEK, -1);
long startTime = cal.getTimeInMillis();
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
Log.i(TAG, "Range Start: " + dateFormat.format(startTime));
Log.i(TAG, "Range End: " + dateFormat.format(endTime));
outpup是
Range Start: 2015.05.14 09:25:13
Range End: 2015.05.15 09:25:13
所以你可以看到输出。我算上那个时期之间的步数。如果我在几分钟后输入,日期格式将如下所示
Range Start: 2015.05.14 09:27:07
Range End: 2015.05.15 09:27:07
我希望它像
Range Start: 2015.05.14 00:00:00
Range End: 2015.05.15 00:00:00
感谢。
答案 0 :(得分:1)
首先,你必须得到今天的日期:
Calendar date = new GregorianCalendar();
将此日期设置为今晚(并存储它!):
date.set(Calendar.HOUR_OF_DAY, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
当你有午夜时,只需添加+1即可获得明天的
date.add(Calendar.DAY_OF_MONTH, 1);