我有一个JavaFX TableView,表示由MySQL数据库填充的作业数据。除两个日期列外,所有数据都显示正常,两个日期列均表示为YYYY-MM-DD。我想做的是反过来,即DD-MM-YYYY。
+--------------+------------+
| Date Created | Deadline |
+--------------+------------+
| 2015-09-07 | 2015-09-14 |
| 2015-09-07 | 2015-09-14 |
+--------------+------------+
最好通过修改用于填充表的MySQL查询来完成此操作:final String finalQuery = "SELECT * FROM kitJobs ORDER BY kitJobs.CaseNO ASC";
?如果是这样,我将如何修改查询以获得所需的日期格式?
答案 0 :(得分:0)
您可以使用SimpleDateFormat;
p2
答案 1 :(得分:0)
为了寻求类似解决方案的其他人的未来参考,我通过执行以下操作成功地在UI中格式化了我的列;
deadlineDateCol.setCellValueFactory(
Job -> {
SimpleStringProperty property = new SimpleStringProperty();
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
property.setValue(dateFormat.format(Job.getValue().getDeadlineDate()));
return property;
});
答案 2 :(得分:0)
这就是我所做的,我的工作非常完美。
tbColDataMovt.setCellFactory((TableColumn<Auditoria, Timestamp> column) -> {
return new TableCell<Auditoria, Timestamp>() {
@Override
protected void updateItem(Timestamp item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setText(null);
}
else {
setText(item.toLocalDateTime().format(DateTimeFormatter.ofPattern("dd/MM/yyyy")));
}
}
};
});