将 java fx 日期选择器日期与查询中的 sql 日期进行比较

compare java fx date picker date to sql date inside a query

我想知道如何将 mysql 日期与 java fx 日期选择器日期进行比较。因此,如果我有一个 MM/DD/YYYY 格式的日期选择器日期和一个 YYYY/MM/DD 格式的 mysql 日期,我如何在查询中比较这两个?

我为你准备了小应用程序如何将Date转换为LocalDate并在DatePicker中设置,如何从DatePicker中获取LocalDate并进行转换至 Date。您还可以检查日期是否相同。

public class Main extends Application {

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
  private Date dateUtil = sdf.parse("2016/09/25");

  public Main() throws ParseException {
  }

  @Override public void start(Stage primaryStage) throws Exception {
    Button button = new Button("Take date from DatePicker");
    Label labelCompare = new Label();
    Label labelCompare2 = new Label();
    DatePicker datePicker = new DatePicker();

    //convert Date to LocalDate
    LocalDate localDate = dateUtil.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    //set in DatePicker
    datePicker.setValue(localDate);

    VBox hBox = new VBox();
    hBox.getChildren().addAll(datePicker, button, labelCompare, labelCompare2);
    Scene scene = new Scene(hBox, 400, 400);
    primaryStage.setScene(scene);
    primaryStage.show();

    button.setOnAction(new EventHandler<ActionEvent>() {
      @Override public void handle(ActionEvent e) {
        //Take LocalDate from DatePicker
        LocalDate localDate = datePicker.getValue();

        //Convert LocalDate to Date
        Date dateFromPicker = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());

        //compare
        labelCompare.setText("Compare date: " + dateUtil.compareTo(dateFromPicker));
      }
    });
  }

  public static void main(String[] args) {
    launch();
  }
}

最简单的方法: 字符串 searched_date = datePicker.getValue().toString(); 日期 dateFromPicker = Date.valueOf(searched_date);