Една функция, която ми е помагала в доста ситуации. Преработва една дата/час от даден формат в друг. Ако случайно сгрешите с форматите връща null като резултат.
public static String dateStringFromString(String dateStr, String fromFormat, String toFormat) { SimpleDateFormat format = new SimpleDateFormat(fromFormat, Locale.getDefault()); SimpleDateFormat formatOut = new SimpleDateFormat(toFormat, Locale.getDefault()); try { Date date = format.parse(dateStr); return formatOut.format(date).toString(); } catch (ParseException e) { e.printStackTrace(); } return null; }
Пълния помощен клас с допълнителни функции може да видите тук:
/** * Helper Functions for Time and Date * @author Ivelin Pavlov (ibpavlov@gmail.com) * */ public class TimeHelper { /** * Format Calendar parameters into String the way you want it * @param day * @param month * @param year * @param format * @return */ public static String timeFormat(Integer day, Integer month, Integer year, String format) { SimpleDateFormat dateFormat = new SimpleDateFormat(format, Locale.getDefault()); Calendar gregorian = new GregorianCalendar(year, month, day); return dateFormat.format(gregorian.getTime()); } /** * Converts String by parsing format to it and return date * @param d * @param f * @return */ public static Date dateFromString(String d, String f) { SimpleDateFormat format = new SimpleDateFormat(f, Locale.getDefault()); try { return format.parse(d); } catch (ParseException e) { e.printStackTrace(); } return null; } /** * Converts String Date/Time to another String * by passing both from and to formatings * @param dateStr * @param fromFormat * @param toFormat * @return converted format, or null if the format is wrong */ public static String dateStringFromString(String dateStr, String fromFormat, String toFormat) { SimpleDateFormat format = new SimpleDateFormat(fromFormat, Locale.getDefault()); SimpleDateFormat formatOut = new SimpleDateFormat(toFormat, Locale.getDefault()); try { Date date = format.parse(dateStr); return formatOut.format(date).toString(); } catch (ParseException e) { e.printStackTrace(); } return null; } }