org.joda.time.MutableDateTime#isBeforeNow ( )源码实例Demo

下面列出了org.joda.time.MutableDateTime#isBeforeNow ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: BaldPhone   文件: AlarmScheduler.java
static long nextTimeAlarmWillWorkInMs(@NonNull Alarm alarm) {
    final MutableDateTime mDateTime = MutableDateTime.now();
    {   //creating a date of today with the hours and minutes of the alarm
        mDateTime.setMillisOfSecond(0);
        mDateTime.setSecondOfMinute(0);
        mDateTime.setHourOfDay(alarm.getHour());
        mDateTime.setMinuteOfHour(alarm.getMinute());
    }

    final int baldDay = getBaldDay();

    {   //today or one time
        if ((alarm.getDays() & baldDay) == baldDay) {//today may have an alarm
            if ((alarm.getDays() == baldDay)) {
                if (mDateTime.isBeforeNow())
                    mDateTime.addWeeks(1);  //next week if today's time already passed
                return mDateTime.getMillis();
            } else {
                if (mDateTime.isAfterNow())
                    return mDateTime.getMillis();
            }
        } else if (alarm.getDays() == -1) {
            if (mDateTime.isBeforeNow())
                mDateTime.addDays(1);
            return mDateTime.getMillis();
        }
    }
    int selectedBaldDay = baldDay;

    {   //find next day
        for (int i = baldDay << 1; i != baldDay; i <<= 1) {
            if (i > D.Days.SATURDAY)
                i = D.Days.SUNDAY;

            if ((alarm.getDays() & i) == i) {
                selectedBaldDay = i;
                break;
            }

        }
    }

    int day = baldDayToJodaDay(selectedBaldDay);
    mDateTime.setDayOfWeek(day);
    if (mDateTime.isBeforeNow()) {
        mDateTime.addWeeks(1);
    }
    return mDateTime.getMillis();
}
 
源代码2 项目: BaldPhone   文件: ReminderScheduler.java
private static long nextTimeReminderWillWorkInMs(@NonNull Reminder reminder, Context context) {
    final MutableDateTime mDateTime = MutableDateTime.now();

    {   //creating a date of today with the hours and minutes of the alarm
        mDateTime.setMillisOfSecond(0);
        mDateTime.setSecondOfMinute(0);

        mDateTime.setHourOfDay(BPrefs.getHour(reminder.getStartingTime(), context));
        mDateTime.setMinuteOfHour(BPrefs.getMinute(reminder.getStartingTime(), context));
    }

    final int baldDay = getBaldDay();
    final int days = reminder.getDays();
    {   //today or one time
        if ((days & baldDay) == baldDay) {//today may have an alarm
            if ((days == baldDay)) {
                if (mDateTime.isBeforeNow())
                    mDateTime.addWeeks(1);  //next week if today's time already passed
                return mDateTime.getMillis();
            } else {
                if (mDateTime.isAfterNow())
                    return mDateTime.getMillis();
            }
        } else if (days == -1) {
            if (mDateTime.isBeforeNow())
                mDateTime.addDays(1);
            return mDateTime.getMillis();
        }
    }

    int selectedBaldDay = baldDay;

    {   //find next day
        for (int i = baldDay << 1; i != baldDay; i <<= 1) {
            if (i > D.Days.SATURDAY)
                i = D.Days.SUNDAY;

            if ((days & i) == i) {
                selectedBaldDay = i;
                break;
            }

        }
    }

    int day = baldDayToJodaDay(selectedBaldDay);
    mDateTime.setDayOfWeek(day);
    if (mDateTime.isBeforeNow()) {
        mDateTime.addWeeks(1);
    }
    return mDateTime.getMillis();
}