Java Year Get getYear(String aDate)

Here you can find the source of getYear(String aDate)

Description

get Year

License

Open Source License

Declaration

public static int getYear(String aDate) 

Method Source Code


//package com.java2s;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import java.util.Date;
import java.util.GregorianCalendar;

public class Main {
    public static int getYear(String aDate) {
        int myYear = -1;
        if (isValidObjectModelDate(aDate)) {
            Integer Year = new Integer(aDate.substring(0, 4));
            myYear = Year.intValue();
        }//from www .  jav a  2s. c  om
        return myYear;
    }

    /**
     *
     * @param aDate
     * @return
     *
     */
    /*==============================================================*/
    public static boolean isValidObjectModelDate(String aDate) {
        if (aDate == null) {
            return true;
        }

        if (aDate.equals("")) {
            return true;
        }

        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");

        if (aDate.length() != 10) {
            return false;
        }

        if (!(aDate.substring(4, 5).equals("-")) || !(aDate.substring(7, 8).equals("-"))) {
            return false;
        }

        try {
            Date myDate = myFormatter.parse(aDate);
        } catch (ParseException myParseException) {
            return false;
        }

        //YYYY-MM-DD
        //0123456789
        String year = aDate.substring(0, 4);
        Integer Year = new Integer(year);
        int myYear = Year.intValue();

        String month = aDate.substring(5, 7);
        Integer Month = new Integer(month);
        int myMonth = Month.intValue();

        String day = aDate.substring(8);
        Integer Day = new Integer(day);
        int myDay = Day.intValue();

        if (isValidObjectModelYear(myYear)) {
            if (isValidObjectModelMonth(myMonth)) {
                if (isValidObjectModelDay(myYear, myMonth, myDay)) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        } else {
            return false;
        }
    }

    /**
     *
     * @param aYear
     * @return boolean
     *
     */
    /*==============================================================*/

    public static boolean isValidObjectModelYear(int aYear) {
        boolean validYear = false;
        if (aYear > 1800) {
            validYear = true;
        }
        return validYear;
    }

    /**
     *
     * @param aMonth
     * @return boolean
     *
     */
    /*==============================================================*/
    public static boolean isValidObjectModelMonth(int aMonth) {
        boolean result = false;
        if (aMonth > 0 && aMonth < 13) {
            result = true;
        } else {
            result = false;
        }
        return result;
    }

    /**
     *
     * @param aYear
     * @param aMonth
     * @param aDay
     *
     * @return boolean
     *
     */
    /*==============================================================*/
    public static boolean isValidObjectModelDay(int aYear, int aMonth, int aDay) {
        boolean result = false;

        result = isValidObjectModelYear(aYear);
        if (!result) {
            return result;
        }
        result = isValidObjectModelMonth(aMonth);
        if (!result) {
            return result;
        }

        //If they day is 0 or negative then it is an invalid date
        if (aDay <= 0) {
            return false;
        }

        switch (aMonth) {

        case 4:
        case 6:
        case 9:
        case 11:
            if (aDay > 30) {
                result = false;
            } else {
                result = true;
            }
            break;
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            if (aDay > 31) {
                result = false;
            } else {
                result = true;
            }
            break;
        case 2:
            GregorianCalendar gc = new GregorianCalendar();
            if (gc.isLeapYear(aYear)) {
                if (aDay > 29) {
                    result = false;
                } else {
                    result = true;
                }
            } else {
                if (aDay > 28) {
                    result = false;

                } else {
                    result = true;
                }
            }
            break;
        default:
            result = false;
        }
        return result;
    }
}

Related

  1. getYear(final Date date)
  2. getYear(final String date)
  3. getYear(final String date)
  4. getYear(int year)
  5. getYear(long date)
  6. GetYear(String agmipDate)
  7. getYear(String argDate)
  8. getYear(String date)
  9. getYear(String date)