package shared; import java.util.*; /** * This class extends the standard Date class and customizes the toString method. * This class also contains some helper methods to make the life easier. * @author buetow * */ public class MyDate extends Date { private final static long serialVersionUID = 1L; private final static String [] DAYS = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; /** * Copy constructor. * @param data Specifies the date objekt to copy the time from. */ public MyDate(Date date) { super(date.getTime()); } /** * @see java.lang.Object#toString() */ public String toString() { Calendar calendar = Calendar.getInstance(); calendar.setTime(this); String sYear = addZerosToFront(calendar.get(Calendar.YEAR), 4); String sMonth = addZerosToFront(calendar.get(Calendar.MONTH) + 1, 2); String sDays = addZerosToFront(calendar.get(Calendar.DAY_OF_MONTH), 2); String sHours= addZerosToFront(calendar.get(Calendar.HOUR), 2); String sMinutes = addZerosToFront(calendar.get(Calendar.MINUTE), 2); String sDay = DAYS[calendar.get(Calendar.DAY_OF_WEEK)-1]; return sDays + "." + sMonth + "." + sYear + " " + sHours + ":" + sMinutes + " " + sDay; } /** * This method adds zeros in front of a number and returns it as a string. * @param iValue Specifies the number to add zeros to. * @param iWantedLength Specifies the wanted max length of the string. * @return Returns the number represented as a string with additional zeros on front. */ public static String addZerosToFront(int iValue, int iWantedLength) { String sValue = iValue + ""; while (sValue.length() < iWantedLength) sValue = "0" + sValue; return sValue; } }