我创建了一个提醒应用,它会在固定日期前“n”天发出通知。 在尝试该程序时,我遇到了一个有趣的错误。我已经制作了代码,如果“第n天”在当前时间之前,警报就不会设置。
然而,代码中的某处存在错误。如果我为今天(12月6日)设置了闹钟,则只有n = 0才能设置闹钟,但是如果我输入数字25到50,则闹钟也会设置。如果我设置n到25闹钟设置为31th dec并且如果n设置为50警报设置为今天,即12月6日。
我用来减去时间的代码是:
Long i = c.getTimeInMillis() - n*24*60*60*1000;
c1.setTimeInMillis(i);
也
i
n = 0
的值为 1386315000678 i
n = 50
的值为 1386289967974 CurrentTimeInMillis 1386337498776
代码有问题吗?或者这与android中的时间如何转换为毫秒有关?
答案 0 :(得分:0)
我用过:
c.add(Calendar.DAY_OF_YEAR, 0-n);
c1.setTimeInMillis(c.getTimeInMillis());
c.add(Calendar.DAY_OF_YEAR, n);
这不会给出有趣的无法解释的错误