我有一个表格,必须在date picker
中输入和到目前为止,但保存数据时,从日期到日期应该是当前日期。如果我作为明天约会输入日期,则不应该允许保存日期。请告诉我如何在mysql
中执行此操作。我可以知道实现目标的正确方法是什么?
答案 0 :(得分:0)
不太确定你想要达到的目标......
一般情况下,如果你必须在java代码中验证表单,那么在将东西插入数据库之前就应该这样。
您可以使用触发器(BEFORE INSERT)或约束检查广告数据库级别(您可以使用约束来确保数据完整性)但我相信Java中的检查更容易维护。
答案 1 :(得分:0)
这样你就可以做到..
从屏幕显示日期..(您必须从字符串中解析日期)
今天是午夜的日期
需要明天的午夜日期
- 醇>
检查屏幕的日期应该是今天的午夜和明天的午夜之间
Date date_from_screen = new Date();
Date today = new Date();
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
Date tomorrow = new Date(today.getTime() + 1 * 24 * 60 * 60 * 1000);
tomorrow.setHours(0);
tomorrow.setMinutes(0);
tomorrow.setSeconds(0);
if((date_from_screen.getTime() >= today.getTime()) && (date_from_screen.getTime() <= tomorrow.getTime()))
{
System.out.println("valid date");
}
else
{
System.out.println("invalide date");
}
答案 2 :(得分:0)
java 8用户的另一个参考:
如果您指的是:
http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/DatePicker.html
然后你只需要玩:
http://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html
final DatePicker datePicker = new DatePicker(); //assuming this is your DatePicker on the form
LocalDate date = datePicker.getValue();
//comparing with current date (LocalDate.now())
if(date.compareTo(LocalDate.now())!=0)
{
JOptionPane.showMessageDialog(null, "Invalid input date!");
}
else{
//save to DB..
}
注意:虽然我还没有尝试过这样做..