Android Date Compare needsMidnightCountdown()

Here you can find the source of needsMidnightCountdown()

Description

needs Midnight Countdown

License

Open Source License

Declaration

public static boolean needsMidnightCountdown() 

Method Source Code

//package com.java2s;
/*/*from ww  w .jav  a 2s  .co  m*/
 * SBHS-Timetable-Android: Countdown and timetable all at once (Android app).
 * Copyright (C) 2014 Simon Shields, James Ye
 *
 * This file is part of SBHS-Timetable-Android.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.util.Calendar;

public class Main {
    public static boolean needsMidnightCountdown() {
        int offset = getDateOffset();
        return offset > 0
                || getDay() == Calendar.SUNDAY
                || (getHour() > 15 || (getHour() == 15 && getMinute() >= 15));
    }

    public static int getDateOffset() { // TODO holidays - these work when done
        int day = getDay();
        int hour = getHour();
        int minute = getMinute();
        int offset = 0;
        if (day == Calendar.SATURDAY) {
            // push to sunday afternoon.
            offset++;
        } else if (day == Calendar.FRIDAY
                && (hour > 15 || hour == 15 && minute >= 15)) {
            offset += 2;
        }
        return offset;
    }

    public static int getDay() {
        return cal().get(Calendar.DAY_OF_WEEK);
    }

    public static int getHour() {
        return cal().get(Calendar.HOUR_OF_DAY);
    }

    public static int getMinute() {
        return cal().get(Calendar.MINUTE);
    }

    private static Calendar cal() {
        return Calendar.getInstance();
    }
}

Related

  1. compareDate(String date1, String date2, int what)
  2. dateAfterDate(Date date, long days)
  3. dateBeforeDate(Date date, long days)
  4. isSameDay(Date dateSource, Date dateDesti)
  5. isSameInstant(Date date1, Date date2)
  6. dateDiffer(Date date1, Date date2)
  7. compare(Date date1, Date date2)
  8. compare(String date0, String date1, String format)
  9. isDateTimeAfter(String startDate, String startTime, String endDate, String endTime)