我尝试使用Joda-Time库将字符串"hh:mm"
格式的存储时间与当前时间进行比较。我使用了以下代码,但输出是随机的。它的输出不对。
LocalTime now = LocalTime.now();
LocalTime limit;
limit = LocalTime.parse(date); //date is any string data in format "hh:mm", e.g "14:30"
if( now.isAfter( limit )){
ans = date+"is Past or Present Time";
}else{
ans = date+" is Future time";
}
答案 0 :(得分:0)
使用此代码获取当前日期:
Date date = new Date();
DateFormat format = new SimpleDateFormat("HHmm");
LocalTime now=LocalTime.parse(format.format(date));
然后尝试比较,希望它会对你有所帮助!由于您使用的是LocalTime.now()
,因此其中还包含时间默认时区。
答案 1 :(得分:0)
尝试这可能对您有用。
public void DateComparision(String dateString) {
try {
//"yyyy-MM-dd" --> Here you can take your date format
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// Get date object from given string
String givenDate = dateString;
Date date1 = null;
try {
date1 = sdf.parse(givenDate);
} catch (java.text.ParseException e) {
e.printStackTrace();
}
// Get date object from current date
String currentDate = sdf.format(new Date());
Date date2 = null;
try {
date2 = sdf.parse(currentDate);
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (date1.compareTo(date2) < 0) {
// Past date
} else if (date1.compareTo(date2) > 0) {
// Futer date
} else {
// Today date
}
} catch (ParseException e1) {
e1.printStackTrace();
}
}