以分钟为单位的当前时间和过去时间的差异?

时间:2013-09-02 19:19:21

标签: java date time

我想以分钟计算节省时间和当前时间的差异。这就是我尝试的方式。

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()未定义)。请帮帮我。

3 个答案:

答案 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();

其余代码对我来说没问题