我想以分钟计算节省时间和当前时间的差异。这就是我尝试的方式。
public static boolean on_pause() {
current_date = java.text.DateFormat.getDateTimeInstance().format(
Calendar.getInstance().getTime());
long diffInMillisec = current_date.getTime() - saved_date.getTime();
long diffInSec = TimeUnit.MILLISECONDS.toMinutes(diffInMillisec);
difference = diffInSec % 60;
diffInSec /= 60;
if (difference <= 3) {
return true;
} else
return false;
}
public static void on_resume() {
saved_date = java.text.DateFormat.getDateTimeInstance().format(
Calendar.getInstance().getTime());
}
显示错误的行current_date.getTime()和saved_date.getTime()(String类型的方法getTime()未定义)。请帮帮我。
答案 0 :(得分:0)
这一行:
current_date = java.text.DateFormat.getDateTimeInstance().format(
Calendar.getInstance().getTime());
返回当前时间(字符串)。
那么当你尝试current_date.getTime()
时,你正试图从字符串中获取时间。
这样做(未经测试但它应该工作):
Calendar current_date = Calendar.getInstance();
然后你应该调用current_date.getTime(),并解析int / long / double的答案。对saved_date执行相同的操作。
也请查看:http://developer.android.com/reference/java/util/Calendar.html
尝试并撰写进一步的帮助。
答案 1 :(得分:0)
或者你可以这样做
public static boolean on_pause() {
return System.currentTimeMillis() - saved_date > 3 * 60 * 1000;
}
public static void on_resume() {
saved_date = System.currentTimeMillis();
}
这相差180秒。如果你比较你可能在239秒后的分钟数,并且仍然不认为这超过3分钟,因为你忽略了秒数。
答案 2 :(得分:0)
有一种简单的方法可以获得实际的日期/时间
使用
Time current_date = new Time();
current_date.setToNow();
和
Time saved_date = = new Time();
saved_date.setToNow();
其余代码对我来说没问题