Java Android中的定时器

Java Android中的定时器,java,android,timer,Java,Android,Timer,我计划创建一个计时器,它在某些情况下工作正常,但当我当前的时间是中午12点和凌晨12点时,它将转到第三个if block,但在凌晨12点时它是可以的,但对于中午12点,它应该首先是如果 我该怎么办,有什么解决办法吗 try { current_time= format.parse(current_time_system); Toast.makeText(this, current_time_system, Toast.LENGTH_

我计划创建一个计时器,它在某些情况下工作正常,但当我当前的时间是中午12点和凌晨12点时,它将转到第三个if block,但在凌晨12点时它是可以的,但对于中午12点,它应该首先是如果

我该怎么办,有什么解决办法吗

try
        {
            current_time= format.parse(current_time_system);

           Toast.makeText(this, current_time_system, Toast.LENGTH_LONG).show();

            t_seheritime=format.parse(today_seheritime);
            t_iftartime=format.parse(today_iftartime);
            tmw_seheritime=format.parse(tomorrow_seheritime);
            startday_time=format.parse("00:00:00");
            enddayTime=format.parse("24:00:00");
            Date sptime1=format.parse("12:00:00");
            Date sptime2 =format.parse("12:59:00");

            if(current_time.getTime()>t_seheritime.getTime() && current_time.getTime()<=t_iftartime.getTime())
            {
                status.setText("আজকের ইফতারের সময় বাকি...");
                Toast.makeText(this, today_seheritime+ today_iftartime , Toast.LENGTH_LONG).show();
               Toast.makeText(this, "a", Toast.LENGTH_LONG).show();
                Date1= format.parse(today_iftartime);
                Date2= format.parse(current_time_system);

                millis = Date1.getTime() - Date2.getTime();

            }
            else if (current_time.getTime()>t_iftartime.getTime())
            {
                status.setText("পরবর্তি সাহারীর সময় বাকি...");
                Toast.makeText(this,  t_iftartime.toString() , Toast.LENGTH_LONG).show();
                Toast.makeText(this, "b", Toast.LENGTH_LONG).show();
                Date1= enddayTime;
                Date2= format.parse(current_time_system);

                millis= ((enddayTime.getTime()-Date2.getTime())+(tmw_seheritime.getTime()-startday_time.getTime()));
            }
             else if( current_time.getTime()>=startday_time.getTime() && current_time.getTime()<=t_seheritime.getTime())
            {
                    status.setText("আজকের সাহারীর সময় বাকি...");
                    Toast.makeText(this, "c", Toast.LENGTH_LONG).show();
                    Date1 = format.parse(today_seheritime);
                    Date2 = format.parse(current_time_system);

                    millis = Date2.getTime() - Date1.getTime();

            }


        }
试试看
{
当前时间=format.parse(当前时间系统);
Toast.makeText(这是当前的时间系统,Toast.LENGTH.show();
t_seheritime=format.parse(今天的seheritime);
t_iftartime=format.parse(今天的iftartime);
tmw_seheritime=format.parse(明天_seheritime);
startday_time=format.parse(“00:00:00”);
endDayday=format.parse(“24:00:00”);
Date sptime1=format.parse(“12:00:00”);
Date sptime2=format.parse(“12:59:00”);
if(current_time.getTime()>t_seheritime.getTime()&¤t_time.getTime()t_iftartime.getTime())
{
status.setText(“পরবর্তি সাহারীর সময় বাকি...");
Toast.makeText(this,t_iftartime.toString(),Toast.LENGTH_LONG.show();
Toast.makeText(这是“b”,Toast.LENGTH_LONG).show();
日期1=结束日期;
Date2=format.parse(当前时间系统);
millis=((endday.getTime()-Date2.getTime())+(tmw_seheritime.getTime()-startday_time.getTime());
}

如果(current_time.getTime()>=startday_time.getTime()&¤t_time.getTime()问题

您的时间检查方式错误

您应该使用

方法java.util.Calendar.compareTo()比较Calendar对象和另一个Calendar对象之间的时间值(毫秒偏移)


阅读

正因为如此,它才导致-SimpleDateFormat=新SimpleDateFormat(“HH:mm:ss”);HH给我AM/PM格式的时间,HH给我(0-23)小时格式的时间。
if (current_time.getTime().compareTo(t_seheritime.getTime() > 0                        
{

}