| | | 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;
}
}
}
|
|
|
|
| Related examples in the same category |
| 1. | Date Era change | |  | | 2. | Date Format | | | | 3. | The Time and Date Format Suffixes | | | | 4. | Display standard 12-hour time format | | | | 5. | Display complete time and date information | | | | 6. | Display just hour and minute | | | | 7. | Display month by name and number | | | | 8. | DateFormat.getDateInstance(DateFormat.SHORT) | | | | 9. | Use relative indexes to simplify the creation of a custom time and date format. | | | | 10. | Date Format with Locale | |  | | 11. | Date Format Symbols | |  | | 12. | Decimal Format with different Symbols | |  | | 13. | Date format: "dd.MM.yy", "yyyy.MM.dd G 'at' hh:mm:ss z","EEE, MMM d, ''yy", "h:mm a", "H:mm", "H:mm:ss:SSS", "K:mm a,z","yyyy.MMMMM.dd GGG hh:mm aaa" | |  | | 14. | SimpleDateFormat.getAvailableLocales | |  | | 15. | DateFormat.SHORT | | | | 16. | This is same as MEDIUM: DateFormat.getDateInstance().format(new Date()) | | | | 17. | This is same as MEDIUM: DateFormat.getDateInstance(DateFormat.DEFAULT).format(new Date()) | | | | 18. | DateFormat.getTimeInstance(DateFormat.MEDIUM, Locale.CANADA).format(new Date()) | | | | 19. | DateFormat.getTimeInstance(DateFormat.LONG, Locale.CANADA).format(new Date()) | | | | 20. | DateFormat.getTimeInstance(DateFormat.FULL, Locale.CANADA).format(new Date()) | | | | 21. | DateFormat.getTimeInstance(DateFormat.DEFAULT, Locale.CANADA).format(new Date()) | | | | 22. | DateFormat.getDateInstance(DateFormat.LONG) | | | | 23. | DateFormat.getTimeInstance(DateFormat.SHORT) | | | | 24. | DateFormat.getTimeInstance(DateFormat.LONG) | | | | 25. | Parse date string input with DateFormat.getTimeInstance(DateFormat.DEFAULT, Locale.CANADA) | | | | 26. | Simple Date Format Demo | |  | | 27. | Format date in Medium format | | | | 28. | Format date in Long format | | | | 29. | Format date in Full format | | | | 30. | Format date in Default format | | | | 31. | Formatting day of week using SimpleDateFormat | | | | 32. | Formatting day of week in EEEE format like Sunday, Monday etc. | | | | 33. | Formatting day in d format like 1,2 etc | | | | 34. | Formatting day in dd format like 01, 02 etc. | | | | 35. | Format hour in h (1-12 in AM/PM) format like 1, 2..12. | | | | 36. | Format hour in hh (01-12 in AM/PM) format like 01, 02..12. | | | | 37. | Format hour in H (0-23) format like 0, 1...23. | | | | 38. | Format hour in HH (00-23) format like 00, 01..23. | | | | 39. | Format hour in k (1-24) format like 1, 2..24. | | | | 40. | Format hour in kk (01-24) format like 01, 02..24. | | | | 41. | Format hour in K (0-11 in AM/PM) format like 0, 1..11. | | | | 42. | Format hour in KK (00-11) format like 00, 01,..11. | | | | 43. | Formatting minute in m format like 1,2 etc. | | | | 44. | Format minutes in mm format like 01, 02 etc. | | | | 45. | Format month in M format like 1,2 etc | | | | 46. | Format Month in MM format like 01, 02 etc. | | | | 47. | Format Month in MMM format like Jan, Feb etc. | | | | 48. | Format Month in MMMM format like January, February etc. | | | | 49. | Format seconds in s format like 1,2 etc. | | | | 50. | Format seconds in ss format like 01, 02 etc. | | | | 51. | Format date in dd/mm/yyyy format | | | | 52. | Format date in mm-dd-yyyy hh:mm:ss format | | | | 53. | Format year in yy format like 07, 08 etc | | | | 54. | Format year in yyyy format like 2007, 2008 etc. | | | | 55. | new SimpleDateFormat("hh") | | | | 56. | new SimpleDateFormat("H") // The hour (0-23) | | | | 57. | new SimpleDateFormat("m"): The minutes | | | | 58. | new SimpleDateFormat("mm") | | | | 59. | SimpleDateFormat("MM"): number based month value | | | | 60. | new SimpleDateFormat("s"): The seconds | | | | 61. | new SimpleDateFormat("ss") | | | | 62. | new SimpleDateFormat("a"): The am/pm marker | | | | 63. | new SimpleDateFormat("z"): The time zone | | | | 64. | new SimpleDateFormat("zzzz") | | | | 65. | new SimpleDateFormat("Z") | | | | 66. | new SimpleDateFormat("hh:mm:ss a") | | | | 67. | new SimpleDateFormat("HH.mm.ss") | | | | 68. | new SimpleDateFormat("HH:mm:ss Z") | | | | 69. | SimpleDateFormat("MM/dd/yy") | | | | 70. | SimpleDateFormat("dd-MMM-yy") | | | | 71. | SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z") | | | | 72. | SimpleDateFormat("yyyy") | | | | 73. | The month: SimpleDateFormat("M") | | | | 74. | Three letter-month value: SimpleDateFormat("MMM") | | | | 75. | Full length of month name: SimpleDateFormat("MMMM") | | | | 76. | The day number: SimpleDateFormat("d") | | | | 77. | Two digits day number: SimpleDateFormat("dd") | | | | 78. | The day in week: SimpleDateFormat("E") | | | | 79. | Full day name: SimpleDateFormat("EEEE") | | | | 80. | Add AM PM to time using SimpleDateFormat | | | | 81. | Simply format a date as "YYYYMMDD" | | | | 82. | Java SimpleDateFormat Class Example("MM/dd/yyyy") | | | | 83. | The format used is EEE, dd MMM yyyy HH:mm:ss Z in US locale. | | | | 84. | Date Formatting and Localization | | | | 85. | Get a List of Short Month Names | | | | 86. | Get a List of Weekday Names | | | | 87. | Get a List of Short Weekday Names | | | | 88. | Change date formatting symbols | | | | 89. | An alternate way to get week days symbols | | | | 90. | ISO8601 formatter for date-time without time zone.The format used is yyyy-MM-dd'T'HH:mm:ss. | | | | 91. | ISO8601 formatter for date-time with time zone. The format used is yyyy-MM-dd'T'HH:mm:ssZZ. | | | | 92. | Parsing custom formatted date string into Date object using SimpleDateFormat | | | | 93. | Parse with a custom format | | | | 94. | Parsing the Time Using a Custom Format | | | | 95. | Parse with a default format | | | | 96. | Parse a date and time | | | | 97. | Parse string date value input with SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z") | | | | 98. | Parse string date value input with SimpleDateFormat("dd-MMM-yy") | | | | 99. | Parse string date value with default format: DateFormat.getDateInstance(DateFormat.DEFAULT) | | | | 100. | Find the current date format | | | | 101. | Time format viewer | | | | 102. | Date format viewer | | | | 103. | Returns a String in the format Xhrs, Ymins, Z sec, for the time difference between two times | | | | 104. | format Duration | | | | 105. | Get Date Suffix | | | | 106. | Date Format Cache | | | | 107. | ISO8601 Date Format | | | | 108. | Explode a date in 8 digit format into the three components. | | | | 109. | Date To Iso Date Time | | | | 110. | Iso Date Time To Date | | | | 111. | Format Time To 2 Digits | | | | 112. | Time formatting utility. | | | | 113. | ISO 8601 BASIC date format | | | | 114. | Format As MySQL Datetime | | | | 115. | new SimpleDateFormat( "EEE MMM d HH:mm:ss z yyyy", Locale.UK ) | | | | 116. | Date parser for the ISO 8601 format. | | | | 117. | Parse W3C Date format | | | | 118. | Pack/Unpacks date stored in kdb format | | | | 119. | Provides preset formatting for Dates. All dates are returned as GMT | | | | 120. | Parse RSS date format to Date object. | | | | 121. | Date format for face book | | | | 122. | FastDateFormat is a fast and thread-safe version of java.text.SimpleDateFormat. | | | | 123. | Date format and parse Util | | | | 124. | XSD Date Time | | | | 125. | Return a String value of Now() in a specify format | | | | 126. | Format data to string with specified style. | | | | 127. | extends Formatter | | |
|