Java Date ISO Parse parseDate(String iso8061StrDateTime)

Here you can find the source of parseDate(String iso8061StrDateTime)

Description

Will parse a date formatted in iso8061 (example: 2010-10-01T13:33:50-04:00) into a java.util.Date.

License

Open Source License

Parameter

Parameter Description
iso8061StrDateTime the date to format

Exception

Parameter Description
ParseException if the date isn't formatte properly

Return

a java.util.Date representing iso8061StrDateTime

Declaration

public static Date parseDate(String iso8061StrDateTime) throws ParseException 

Method Source Code


//package com.java2s;
/*/*  ww w.j a v  a 2  s  . c  o m*/
    
ATHENA Project: Management Tools for the Cultural Sector
Copyright (C) 2010, Fractured Atlas
    
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.text.ParseException;
import java.util.Date;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormatter;
import org.joda.time.format.ISODateTimeFormat;

public class Main {
    public static DateTimeFormatter ATHENA_DATE_TIME_FORMAT = ISODateTimeFormat.dateTimeNoMillis();
    public static DateTimeFormatter ATHENA_DATE_FORMAT = ISODateTimeFormat.date();

    /**
     * Will parse a date formatted in iso8061 (example: 2010-10-01T13:33:50-04:00) into a java.util.Date.  If parsing fails,
     * this method will attempt to parse using the format 'yyyy-MM-dd".  If both fail, this method will
     * throw a ParseException
     *
     * @param iso8061StrDateTime the date to format
     * @return a java.util.Date representing iso8061StrDateTime
     * @throws ParseException if the date isn't formatte properly
     */
    public static Date parseDate(String iso8061StrDateTime) throws ParseException {
        if (iso8061StrDateTime == null) {
            return null;
        }

        try {
            return ATHENA_DATE_TIME_FORMAT.parseDateTime(iso8061StrDateTime).toDate();
        } catch (IllegalArgumentException iae) {
            return ATHENA_DATE_FORMAT.parseDateTime(iso8061StrDateTime).toDate();
        }
    }

    public static DateTime parseDateTime(String iso8061StrDateTime) throws ParseException {
        if (iso8061StrDateTime == null) {
            return null;
        }

        try {
            return ATHENA_DATE_TIME_FORMAT.parseDateTime(iso8061StrDateTime);
        } catch (IllegalArgumentException iae) {
            return ATHENA_DATE_FORMAT.parseDateTime(iso8061StrDateTime);
        }
    }
}

Related

  1. isOneOf(String value, String... values)
  2. ISOToJulianDate(String dateObs)
  3. isValidISO8601(String time)
  4. normalizeToISO8601(String sDate, TimeZone tz)
  5. parseAwsFlavouredISO8601Date(String dateString)
  6. parseDateISO(String date)
  7. parseDateISO(String value)
  8. parseDateISO(String value)
  9. parseDateTime(String iso8061StrDateTime)