Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用日历每午夜重置计数的步数_Java_Android_Calendar - Fatal编程技术网

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);

我正在构建一个android应用程序,它可以计算用户的步数。其目的是计算从前一天午夜到每天午夜的步数。这是我设置日历对象的方式。这确实是一个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));
结果是

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);