Java 使用日历每午夜重置计数的步数
我正在构建一个android应用程序,它可以计算用户的步数。其目的是计算从前一天午夜到每天午夜的步数。这是我设置日历对象的方式。这确实是一个Java问题Java 使用日历每午夜重置计数的步数,java,android,calendar,Java,Android,Calendar,我正在构建一个android应用程序,它可以计算用户的步数。其目的是计算从前一天午夜到每天午夜的步数。这是我设置日历对象的方式。这确实是一个Java问题 Calendar cal = Calendar.getInstance(); Date now = new Date(); cal.setTime(now); long endTime = cal.getTimeInMillis(); cal.add(Calendar.DAY_OF_WEEK, -1);
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));
结果是
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
谢谢。首先,你必须知道今天的日期:
Calendar date = new GregorianCalendar();
将此日期设置为今晚(并存储它!):
当你有午夜的时候,只需在一天中加上+1就可以得到明天的
date.add(Calendar.DAY_OF_MONTH, 1);
谢谢你的回复。但是我得到了一个例外。无效的结束时间:143164440000在com.google.android.gms.common.internal.zzx.zza(未知来源)如果我将最后一行更改为date.add(Calendar.DAY\u OF_MONTH,-1),我可以看到我想要的日期格式。哦,对不起,你一天前想要的。。。我的错<代码>-1是正确的方法,是的。。。但你明白了,这才是最重要的!
date.add(Calendar.DAY_OF_MONTH, 1);