Android Calendar Get getGuessedDateString()

Here you can find the source of getGuessedDateString()

Description

get Guessed Date String

License

Open Source License

Declaration

public static String getGuessedDateString() 

Method Source Code

//package com.java2s;
/*//from www .  j  a  v  a2  s .  c  o 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 String getGuessedDateString() {
        return getYear()
                + "-"
                + (getMonth() + 1)
                + "-"
                + (getDate() + getDateOffset() + (needsMidnightCountdown() ? 1
                        : 0));
    }

    public static int getYear() {
        return cal().get(Calendar.YEAR);
    }

    public static int getMonth() {
        return cal().get(Calendar.MONTH);
    }

    public static int getDate() {
        return cal().get(Calendar.DAY_OF_MONTH);
    }

    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 boolean needsMidnightCountdown() {
        int offset = getDateOffset();
        return offset > 0
                || getDay() == Calendar.SUNDAY
                || (getHour() > 15 || (getHour() == 15 && getMinute() >= 15));
    }

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

    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);
    }
}

Related

  1. getDay()
  2. getDay(Calendar c)
  3. getFirstOfWeek(Calendar cal, int week)
  4. getFragmentInDays(Calendar calendar, int fragment)
  5. getFragmentInHours(Calendar calendar, int fragment)
  6. getHour(Calendar c)
  7. getLastOfWeek(Calendar cal, int week)
  8. getMaxTimeMillisToday()
  9. getMaxTimeMillisToday(final Calendar calendar)