Reputation: 316
I wanna subtract the current time from the time that has been selected from Time Picker i.e. SelectedTime - Current Time
. So, I know how to get the current time and selected time from time picker.
Here is the Code.
public class ScheduleMessage extends AppCompatActivity {
TextView textView;
TimePicker timePicker;
String date, currentTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_schedule_message);
Calendar calendar = Calendar.getInstance();
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm ");
currentTime = timeFormat.format(calendar.getTime());
timePicker = findViewById(R.id.simpleTimePicker);
textView = findViewById(R.id.selectedTime);
timePicker.setOnTimeChangedListener( new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
date = hourOfDay + ":" + minute;
textView.setText(date + "---" + currentTime);
}
});
}
}
So, How can I subtract it? Any Help?
Upvotes: 0
Views: 1019
Reputation: 574
If you have strings you need to parse them into a java.util.Date using java.text.SimpleDateFormat. Something like:
java.text.DateFormat df = new java.text.SimpleDateFormat("hh:mm:ss");
java.util.Date date1 = df.parse("18:40:10");
java.util.Date date2 = df.parse("19:05:15");
long diff = date2.getTime() - date1.getTime();
Upvotes: 1
Reputation: 957
In determining the difference between date you can do somthing like this
SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss aa");// or you can add before dd/M/yyyy
Date date1 = format.parse("08:00:12 pm");
Date date2 = format.parse("05:30:12 pm");
long mills = date1.getTime() - date2.getTime();
int hours = (int) (mills/(1000 * 60 * 60));
int mins = (int) (mills/(1000*60)) % 60;
String diff = hours + ":" + mins;
Upvotes: 1