How to compare current time with time range?

前端 未结 8 1734
庸人自扰
庸人自扰 2020-12-30 12:02

I have two String variables - time1 and time2. Both contain value in the format HH:MM. How can I check:

  1. If the current time
8条回答
  •  無奈伤痛
    2020-12-30 12:20

    For example if you want to compare time between 11pm to 6am for calculating extra night fare for any vechicle. then following code will help you.

    // Code

    package com.example.timedate;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.TimeZone;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.text.format.DateFormat;
    import android.text.format.Time;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        TextView tv;
        Button bt;
        int hour,min;
        String AM_PM;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv = (TextView)findViewById(R.id.textView1);
            bt = (Button)findViewById(R.id.button1);
    
    
    
            final String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());*/
    
            bt.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
    
    
                    Calendar c = Calendar.getInstance();
                    hour = c.get(Calendar.HOUR_OF_DAY);
                    min = c.get(Calendar.MINUTE);
                    int ds = c.get(Calendar.AM_PM);
                    if(ds==0)
                    AM_PM="am";
                    else
                    AM_PM="pm";
    
                    Toast.makeText(MainActivity.this, ""+hour+":"+min+AM_PM, Toast.LENGTH_SHORT).show();
                    if((hour==11&&AM_PM.matches("pm")) || (hour<7&&AM_PM.matches("am"))  || (hour==12&&AM_PM.matches("am")))
                    {
                        Toast.makeText(MainActivity.this, "Time is between the range", Toast.LENGTH_SHORT).show();
                    }
                    else
                        Toast.makeText(MainActivity.this, "Time is not between the range", Toast.LENGTH_SHORT).show();
    
                }
            });
    
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }`
    

提交回复
热议问题