Mega Code Archive

 
Categories / Java / Data Type
 

Gets formatted time

import java.util.Calendar; import java.util.Date; public class Util{     public final static long DAY = 24 * 3600 * 1000;   public final static int YEAR_MASK = (1 << Calendar.YEAR);   public final static int MONTH_MASK = (1 << Calendar.MONTH);   public final static int DAY_MASK = (1 << Calendar.DAY_OF_MONTH);   public final static int HOUR_MASK = (1 << Calendar.HOUR);   public final static int HOUR_OF_DAY_MASK = (1 << Calendar.HOUR_OF_DAY);   public final static int MINUTE_MASK = (1 << Calendar.MINUTE);   public final static int SECOND_MASK = (1 << Calendar.SECOND);   public final static int MILLISECOND_MASK = (1 << Calendar.MILLISECOND);   public final static int AM_PM_MASK = (1 << Calendar.AM_PM);   /**     * Gets formatted time     *      * @param time time in ms since 01/01/70     * @param symbols if true, inserts symbols     * @param fields <code>Calendar.MONTH</code>,     *               <code>Calendar.DAY</code>,     *               <code>Calendar.YEAR</code>,     *               <code>Calendar.HOUR</code>,     *               <code>Calendar.HOUR_OF_DAY</code>,     *               <code>Calendar.MINUTE</code>,     *               <code>Calendar.SECOND</code>,     *               <code>Calendar.MILLISECOND</code>,     *               <code>Calendar.AM_PM</code>     *      * @returns formatted time   */   public static String formatTime(long time, boolean symbols, int fields)   {     StringBuffer sb = new StringBuffer();     Calendar calendar = Calendar.getInstance();         String year;     int hour;         calendar.setTime(new Date(time));     if ((fields & MONTH_MASK) != 0)     {       sb.append(twoDigit(calendar.get(Calendar.MONTH)+1));     }     if ((fields & DAY_MASK) != 0)     {       if (symbols) sb.append("/");       sb.append(twoDigit(calendar.get(Calendar.DAY_OF_MONTH)));     }     if ((fields & YEAR_MASK) != 0)     {       if (symbols) sb.append("/");       //get last two digits of year       year = Integer.toString(calendar.get(Calendar.YEAR));       sb.append(year.substring(year.length()-2));     }     if ((fields & HOUR_MASK) != 0 || (fields & HOUR_OF_DAY_MASK) != 0)     {       if ((fields & HOUR_MASK) != 0)         hour = calendar.get(Calendar.HOUR);       else if ((fields & HOUR_OF_DAY_MASK) != 0)         hour = calendar.get(Calendar.HOUR_OF_DAY);       else         hour = 0;       if (hour == 0) hour = 12;       sb.append(twoDigit(hour));     }     if ((fields & MINUTE_MASK) != 0)     {       if (symbols) sb.append(":");       sb.append(twoDigit(calendar.get(Calendar.MINUTE)));     }     if ((fields & SECOND_MASK) != 0)     {       if (symbols) sb.append(":");       sb.append(twoDigit(calendar.get(Calendar.SECOND)));     }     if ((fields & MILLISECOND_MASK) != 0)     {       if (symbols) sb.append(".");       sb.append(threeDigit(calendar.get(Calendar.MILLISECOND)));     }     if ((fields & AM_PM_MASK) != 0)     {       sb.append(calendar.get(Calendar.AM_PM) == Calendar.AM ? "A":"P");     }     return sb.toString();   }     private static String twoDigit(int value) {         if (value < 10) {             return "0" + value;         } else {       //get last two digits       String str = Integer.toString(value);             return str.substring(str.length() - 2);         }     }     private static String threeDigit(int value) {         if (value < 10) {             return "00" + value;         } else if (value < 100) {             return "0" + value;         } else {             return "" + value;         }     } }