【发布时间】:2014-11-18 00:15:04
【问题描述】:
我有两个 DatePicker。一个带有开始日期,另一个带有结束日期。我需要进行验证并检查结束日期是否大于开始日期。
我做了这样的代码:
DatePicker sdateInput = (DatePicker) getActivity().findViewById(R.id.SDate);
DatePicker edateInput = (DatePicker) getActivity().findViewById(R.id.EDate);
final String strSdate = sdateInput.getDayOfMonth() + "/"
+ (sdateInput.getMonth() + 1) + "/" + sdateInput.getYear();
final String strEdate = edateInput.getDayOfMonth() + "/"
+ (edateInput.getMonth() + 1) + "/" + edateInput.getYear();
}else if(strEdate.compareTo(strSdate) < 0){
//To check end date
new AlertDialog.Builder(getActivity())
.setTitle("Confirmation")
.setMessage("Please Enter Valid End Date.")
.setNeutralButton("Back", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// do nothing - it will just close when clicked
}
}).show();
}
此验证仅适用于某些日期。我认为strEdate.compareTo(strSdate) < 0 的日期比较是错误的。有人能帮我吗?谢谢:)
【问题讨论】:
-
考虑切换到 Joda-Time joda.org/joda-time,而不是使用内置的 Java 日期/时间工具,这不太好。
标签: android date if-statement android-fragments android-datepicker