Here you can find the source of parseIso8601Date(String dateString)
public static Date parseIso8601Date(String dateString) throws ParseException
//package com.java2s; /*/*www .j av a 2 s .c om*/ * JetS3t : Java S3 Toolkit * Project hosted at http://bitbucket.org/jmurty/jets3t/ * * Copyright 2006-2010 James Murty * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { protected static final SimpleDateFormat iso8601DateParser = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); protected static final SimpleDateFormat iso8601DateParser_Walrus = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss"); public static Date parseIso8601Date(String dateString) throws ParseException { ParseException exception = null; synchronized (iso8601DateParser) { try { return iso8601DateParser.parse(dateString); } catch (ParseException e) { exception = e; } } // Work-around to parse datetime value returned by Walrus synchronized (iso8601DateParser_Walrus) { try { return iso8601DateParser_Walrus.parse(dateString); } catch (ParseException e) { // Ignore work-around exceptions } } // Throw original exception if the Walrus work-around doesn't save us. throw exception; } }