/* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser 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/>. */ package org.opentripplanner.integration.benchmark; import java.text.SimpleDateFormat; import java.util.Date; public class DateLibrary { private static DateLibrary _instance; // Something very close to ISO 8601 time format private final SimpleDateFormat _format = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssZ"); public static String getTimeAsIso8601String(Date date) { String timeString = getInstance()._format.format(date); return timeString.substring(0, timeString.length() - 2) + ":" + timeString.substring(timeString.length() - 2); } public static Date getIso8601StringAsDate(String value) throws java.text.ParseException { int index = value.lastIndexOf(':'); if (index == value.length() - 3) value = value.substring(0, index) + value.substring(index + 1); return getInstance()._format.parse(value); } private static synchronized DateLibrary getInstance() { if (_instance == null) { _instance = new DateLibrary(); } return _instance; } }