| |
时间格式阅读器 |
|
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
public class TimeViewer extends JPanel {
protected AbstractTableModel tableModel;
protected Date selectedDate = new Date();
protected final static Locale[] availableLocales;
static {
availableLocales = Locale.getAvailableLocales();
}
public final static int LOCALE_COLUMN = 0;
public final static int SHORT_COLUMN = 1;
public final static int MEDIUM_COLUMN = 2;
public final static int LONG_COLUMN = 3;
public final static int FULL_COLUMN = 4;
public final static String[] columnHeaders = { "Locale", "Short", "Medium", "Long", "Full" };
// Create the window for the Time viewer,
// and make sure that later components will fit
public static void main(String[] args) {
JFrame f = new JFrame("Time Viewer");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new TimeViewer());
f.pack();
f.setVisible(true);
}
public TimeViewer() {
tableModel = new LocaleTableModel();
JTable table = new JTable(tableModel);
add(new JScrollPane(table));
refreshTable();
}
protected void refreshTable() {
int style = DateFormat.SHORT;
DateFormat parser = DateFormat.getTimeInstance(style);
selectedDate = new Date();
tableModel.fireTableDataChanged();
}
class LocaleTableModel extends AbstractTableModel {
public int getRowCount() {
return availableLocales.length;
}
public int getColumnCount() {
return columnHeaders.length;
}
public Object getValueAt(int row, int column) {
Locale locale = availableLocales[row];
DateFormat formatter = DateFormat.getInstance();
switch (column) {
case LOCALE_COLUMN:
return locale.getDisplayName();
case SHORT_COLUMN:
formatter = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
break;
case MEDIUM_COLUMN:
formatter = DateFormat.getTimeInstance(DateFormat.MEDIUM, locale);
break;
case LONG_COLUMN:
formatter = DateFormat.getTimeInstance(DateFormat.LONG, locale);
break;
case FULL_COLUMN:
formatter = DateFormat.getTimeInstance(DateFormat.FULL, locale);
}
return formatter.format(selectedDate);
}
public String getColumnName(int column) {
return columnHeaders[column];
}
}
}
|
|
|
Related examples in the same category |
1. | 日期变化 | | | 2. | 日期格式 | | | 3. | 时间和日期格式后缀 | | | 4. | 显示标准12小时的时间格式 | | | 5. | 显示完整的日期和时间信息 | | | 6. | 显示小时和分钟 | | | 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. | 日期格式设置 | | | 11. | 日期格式符号 | | | 12. | 十进制格式与不同的符号 | | | 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. | 简单的日期格式演示 | | | 27. | 中等格式的日期格式 | | | 28. | 长日期格式格式 | | | 29. | 格式日期完整格式 | | | 30. | 格式日期默认格式 | | | 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. | 日期格式和定位 | | | 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. | 剖析自定义格式 | | | 94. | 解析时间使用自定义格式 | | | 95. | 解析默认格式 | | | 96. | 解析日期和时间 | | | 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. | 找到当前的日期格式 | | | 101. | 日期格式阅读器 | | |
|