2016-09-25 29 views
0

我想知道如何將mysql日期與java fx日期選擇器日期進行比較。所以,如果我有一個日期選擇日期的MM/DD/YYYY格式和一個MySQL日期YYYY/MM/DD格式,我如何比較這兩個查詢內?將java fx日期選擇器日期與查詢中的sql日期進行比較

+3

只需根據查詢中的日期列格式化即可。 –

+0

如何在javafx中對其進行格式化?我知道對於java.util.date,你可以使用simpledateformat格式化它,但是如何爲javafx做到這一點? – user2966968

+0

但你仍然可以使用java.util.date這裏沒有什麼不同。 – BadVegan

回答

1

我給你小appliaction準備如何Date轉換爲LocalDateDatePicker,設置如何從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(); 
    } 
} 
+0

謝謝,我剛剛發現.getValue()。toString()返回與sql相同格式的datepicker值。但我需要你的答案以備後續轉換。 – user2966968