接下来2小时使用Calendar object/Java Android
我想捕获用户在接下来的2小时内执行的步骤数 这就是我要说的接下来2小时使用Calendar object/Java Android,java,android,calendar,Java,Android,Calendar,我想捕获用户在接下来的2小时内执行的步骤数 这就是我要说的 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); Log.d("Calendar",calendar.getTime().toString()); long endTime = calendar.ge
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
Log.d("Calendar",calendar.getTime().toString());
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.HOUR_OF_DAY,2);
long startTime = calendar.getTimeInMillis();
然而,应用程序正在崩溃,给了我以下的例外
java.lang.IllegalStateException: Invalid end time: 1432119600355
有什么想法吗?谢谢。看看你在做什么:
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.HOUR_OF_DAY,2);
long startTime = calendar.getTimeInMillis();
所以你的开始时间是结束时间后两个小时。那是无效的。我想您只需要更改订单:
long startTime = calendar.getTimeInMillis();
calendar.add(Calendar.HOUR_OF_DAY,2);
long endTime = calendar.getTimeInMillis();
现在开始时间为午夜,结束时间为凌晨2点。(虽然您尚未清除毫秒部分,因此将是“午夜后第一秒的某个时间”等)。看看您在做什么:
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.HOUR_OF_DAY,2);
long startTime = calendar.getTimeInMillis();
所以你的开始时间是结束时间后两个小时。那是无效的。我想您只需要更改订单:
long startTime = calendar.getTimeInMillis();
calendar.add(Calendar.HOUR_OF_DAY,2);
long endTime = calendar.getTimeInMillis();
现在开始时间为午夜,结束时间为凌晨2点。(虽然您尚未清除毫秒部分,因此将是“午夜后第一秒的某个时间”等)请显示完整的例外情况-我们目前不知道什么呼叫失败。可能例外情况是,您的开始时间应该在结束时间之前,这现在不感谢朋友们的回复。它是固定的:)请显示完整的例外-我们目前不知道什么呼叫失败。可能例外是你的开始时间应该早于结束时间,这现在不感谢我的朋友们的回复。它是固定的:)