Преработване на дата (Android)


Една функция, която ми е помагала в доста ситуации. Преработва една дата/час от даден формат в друг. Ако случайно сгрешите с форматите връща 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;
	}
}

, , ,

  1. Няма коментари.
(will not be published)