时间到了上午10点再次

时间:2018-01-31 16:43:36

标签: android date time push-notification alarm

我想在每天上午10点发布通知。 通知每天发送,但不是在上午10点发送,所以我需要计算等待上午10点再次为我的AlarmManager的时间。

DateFormat dateFormat = new SimpleDateFormat("HH:mm");
long target = dateFormat.parse("10:00").getTime();

我试过这个,但我得到的时间戳大约是50年前......(我想这是时间戳开始计时后第一次上午10点的时间)

那么如何计算等到再次上午10点的毫秒数?

2 个答案:

答案 0 :(得分:0)

您应该使用一个Calendar对象并设置当天上午1​​0点的时间,而不是从该日历对象获取时间,如calender.getTime(),它将返回long并将设置为setRepeating(calender.getTime())设置闹钟管理器。

答案 1 :(得分:0)

使用Calendar代替SimpleDateFormat进行时间操作。

为了在第二天找到10AM:

final Calendar c = Calendar.getInstance()
c.set(Calendar.HOUR_OF_DAY, 10) // For 10AM
c.add(Calendar.DATE, 1) // Add 1 to date == tomorrow

final Date d = c.getTime()
// Do what you want with the date