我有两个 2 JTable。
表_1 包含格式为 (EE - MMMMM dd, yyyy
) 的日期
Table_2 的值取决于用户在 Table_1 上单击的内容。通常,来自数据库的日期格式是 (yyyy-dd-MM
) 我将其格式化为 (EE - MMMMM dd, yyyy
) 看起来有点好看。
我的问题是,我想将其格式化回 (yyyy-dd-MM
) 以使查询正常工作。
我想要这个:
Table_1.getValueAt(Table_1.getSelectedRow(),0) - > Thu - Feb 5, 2015
回到这个:
2015-5-2
然后到数据库中查询得到结果。
最佳答案
使用 SimpleDateFormatter
和 Calendar
,
String date = "Thu-Feb 5, 2015";
SimpleDateFormat sdf = new SimpleDateFormat("EEE-MMM d, yyyy");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(date));
String newDate = cal.get(Calendar.YEAR) + "-" + cal.get(Calendar.DAY_OF_MONTH) + "-" + cal.get(Calendar.MONTH);
System.out.println(date);
System.out.println(newDate);
输出,
Thu-Feb 5, 2015
2015-5-1
观察上面输出中的 February
等于 1
,这是因为月份是从 0
开始的。
关于Java 简单日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28347451/