Java tutorial
//package com.java2s; /* Copyright (C) 2015 Marius C. Silaghi Author: Marius Silaghi: msilaghi@fit.edu Florida Tech, Human Decision Support Systems Laboratory This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either the current version 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 Affero General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ import java.util.Calendar; import java.util.TimeZone; public class Main { /** * ses format "yyyy-MM-dd:hh'h'mm'm'ss's'SSS'Z'" * @param date * @return */ public static Calendar getCalendarFromNice(String date) { date = date.replace("h", ""); date = date.replace("m", ""); date = date.replace("s", "."); date = date.replace(":", ""); date = date.replace("-", ""); return getCalendar(date, null); } /** * Get a Calendar for this gdate, or null in case of failure * @param gdate * @return */ public static Calendar getCalendar(String gdate) { return getCalendar(gdate, null); } /** * Get a Calendar for this gdate, or ndef in case of failure * @param gdate * @param def * @return */ public static Calendar getCalendar(String gdate, Calendar def) { if ((gdate != null) && (gdate.length() < 14)) gdate = gdate + "00000000000000"; if ((gdate == null) || (gdate.length() < 14)) { return def; } Calendar date = CalendargetInstance(); try { date.set(Integer.parseInt(gdate.substring(0, 4)), Integer.parseInt(gdate.substring(4, 6)) - 1, Integer.parseInt(gdate.substring(6, 8)), Integer.parseInt(gdate.substring(8, 10)), Integer.parseInt(gdate.substring(10, 12)), Integer.parseInt(gdate.substring(12, 14))); date.set(Calendar.MILLISECOND, Integer.parseInt(gdate.substring(15, 18))); } catch (Exception e) { return def; } //System.out.println("getCalendar "+gdate+" into "+date); return date; } /** * Return now at UTC * @return */ public static Calendar CalendargetInstance() { return Calendar.getInstance(TimeZone.getTimeZone("UTC")); } }