-1

我试图比较两次,没有得到如何做。我没有任何例子。请告诉我

SimpleDateFormat stDateSimple1 = new SimpleDateFormat(" HH:mm:ss");
String str1= (String)stDateSimple1.format(cal.getTime());
System.out.println("str1-->"+str1);

String starttime="8:30:00";
String endtime="10:30:00";

if(starttime<str1 || endtime>str1  ){
    System.out.println("Display");
}else{
    System.out.println("Dont recortDisplay");
}

我试过这个得到错误请如何检查时间条件

谢谢,
 svn

4

4 回答 4

3

您可以使用乔达时间。它有非常好的方法,比如isBefore()

在此处输入图像描述

这是一个使用示例:

DateFormat df = new SimpleDateFormat("HH:mm:ss");
String starttime="8:30:00";
String endtime="10:30:00";

DateTimeFormatter fmt = DateTimeFormat.forPattern("HH:mm:ss");
DateTime dateTime1 = fmt.parseDateTime(starttime);
DateTime dateTime2 = fmt.parseDateTime(endtime);


if (dateTime1.isBefore(dateTime2)){
    System.out.println("awesome");
}
于 2013-01-03T07:32:53.637 回答
1

您正在尝试使用<运算符比较字符串。您应该将时间字符串格式化为 Date 对象,然后比较这些日期对象

像这样的东西应该适合你。

if (new SimpleDateFormat("HH:mm:ss").parse(yourSring).compareTo(new Date()) > 0) {
   ...
}

由于上午和下午不在那里,时间似乎是 24 小时格式。如果是 12 小时格式,则必须使用格式字符串"hh:mm:ss"

于 2013-01-03T07:23:31.310 回答
1

你可以试试这个。

// AM/PM Format



public boolean compareTime(String t1, String t2) 
{
        try
        {
            SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss a");

            long time1 = format.parse(t1).getTime();
            long time2 = format.parse(t2).getTime();
                return time1 > time2;
         } 
         catch(ParseException e)
         {
                return false;
         }      


}
于 2013-01-03T07:34:58.353 回答
0

如果您已经在Calendar实例使用中设置了时间compareTo(),如果您想忽略日期部分,请将其设置为一些常用值

于 2013-01-03T07:17:40.097 回答