JavaFX TableView中的MySQL日期格式

时间:2015-09-07 09:17:15

标签: java mysql javafx

我有一个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";?如果是这样,我将如何修改查询以获得所需的日期格式?

3 个答案:

答案 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")));
         }
      }
   };
});