//class GetDate // /* Main will output the input, but replace certain keywords with the following date values: %l - Milliseconds (000 - 999) %s - Seconds (00 - 59) %m - Minutes (00 - 59) %h - Hours (1 - 12) %H - Hours (1 - 24) %c - AM/PM (AM - PM) %d - Day (1 - 31) %M - Month (1 - 12) %y - Year ( ---- ) */ import java.util.Calendar; class GetDate{ private static char[] toReplace = {'l', 's', 'm', 'h', 'H', 'c', 'd', 'M', 'y'}; private static String[] replaceValues = {"", "", "", "", "", "", "", "", ""}; public static void main(String args[]){ String toParse = ""; for(int i = 0; i < args.length; ++i) toParse += (args[i] + " "); System.out.println(parseString(toParse)); } public static String parseString(String a_toParse){ String parsedString = a_toParse; updateValues(); for(int i = 0; i < toReplace.length; ++i) parsedString = parsedString.replaceAll("%" + toReplace[i], replaceValues[i]); return parsedString; } public static void updateValues(){ Calendar c = Calendar.getInstance(); replaceValues[0] = String.valueOf(c.get(Calendar.MILLISECOND)); replaceValues[1] = (c.get(Calendar.SECOND) < 10) // to make sure I get 04 instead of 4, etc ? ("0" + String.valueOf(c.get(Calendar.SECOND))) : String.valueOf(c.get(Calendar.SECOND)); replaceValues[2] = (c.get(Calendar.MINUTE) < 10) // to make sure I get 04 instead of 4, etc ? ("0" + String.valueOf(c.get(Calendar.MINUTE))) : String.valueOf(c.get(Calendar.MINUTE)); replaceValues[3] = String.valueOf(c.get(Calendar.HOUR)); replaceValues[4] = String.valueOf(c.get(Calendar.HOUR_OF_DAY)); // 24 hour replaceValues[5] = ((c.get(Calendar.AM_PM)) == 1) ? "PM" : "AM"; // If value is 1, then return PM. Else AM. replaceValues[6] = String.valueOf(c.get(Calendar.DAY_OF_MONTH)); replaceValues[7] = String.valueOf(c.get(Calendar.MONTH) + 1); replaceValues[8] = String.valueOf(c.get(Calendar.YEAR)); } }