两个日期正在比较,但时间没有正确比较.这是我的代码
final String setdate = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(4)));
final String settime = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(5)));
Calendar calendar1 = Calendar.getInstance();
SimpleDateFormat formatter1 = new SimpleDateFormat("dd/M/yyyy");
String currentDate = formatter1.format(calendar1.getTime());
Calendar calendar2 = Calendar.getInstance();
SimpleDateFormat formatter2 = new SimpleDateFormat("h:mm");
String currentTime = formatter2.format(calendar2.getTime());
if(currentDate.compareTo(setdate)>=0)
{
if(currentTime.compareTo(settime)>=0) {
myCheckBox.setChecked(true);
myCheckBox.setEnabled(false);
}
}
Run Code Online (Sandbox Code Playgroud)
如何比较两次.在数据库日期和时间字段不同.所以请帮助我.
ars*_*ikh 16
试试这个:
private boolean checktimings(String time, String endtime) {
String pattern = "HH:mm";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
Date date1 = sdf.parse(time);
Date date2 = sdf.parse(endtime);
if(date1.before(date2)) {
return true;
} else {
return false;
}
} catch (ParseException e){
e.printStackTrace();
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
Calendar calendar1 = Calendar.getInstance();
SimpleDateFormat formatter1 = new SimpleDateFormat("dd/M/yyyy h:mm");
String currentDate = formatter1.format(calendar1.getTime());
final String dateString = cursor.getString(4);
final String timeString = cursor.getString(5);
String datadb =dateString+" "+timeString;
// Toast.makeText(context,"databse date:-"+datadb+"Current Date :-"+currentDate,Toast.LENGTH_LONG).show();
if(currentDate.compareTo(datadb)>=0) {
myCheckBox.setChecked(true);
myCheckBox.setEnabled(false);
}
Run Code Online (Sandbox Code Playgroud)