用Java一次24次之后每天的调用方法的逻辑

时间:2018-10-26 12:55:37

标签: java android

mainMethod中的逻辑:

String todaydate=DateUtils.todayDateinToString();
if ( !todaydate.equals(localdate.get())) {
    long currentMillis = System.currentTimeMillis();
    if(currentMillis >= appProperties.nextCallMillis.get() ) {
        localdate.set(currentMillis + 86400000);
         callmethod();
    }
    appProperties.barCodeCallDate.set(DateUtils.todayDateinToString());
}
else{
    appProperties.nextCallMillis.clear();
}

DateUtils.java

public static  String todayDateinToString() {
    String today = null;
    try {
        Date date = Calendar.getInstance().getTime();

        // Display a date in day, month, year format
        DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
        today = formatter.format(date);
        System.out.println("Today : " + today);
    } catch (Exception e) {
        e.printStackTrace();

    }
    return today;
}

我编写了这段代码,每天间隔24小时执行一次。

实际:每天只执行一次。

预期:应在每天24小时后执行。例如,我今天在上午11点调用方法,那么它不应在明天上午11点之前调用。应该在上午11点以后打电话。如果我尝试在后天致电,则应在上午11点之前致电,因为下一次通话的区别是24小时。

请建议我我在本地存储两个日期和nextCallMillis。

0 个答案:

没有答案