我想比较textView中的两个时间(小时和分钟)。我尝试将其转换为毫秒,但它看起来不起作用。或者也许你有其他的方式来隐蔽。
String startTime = (String) tvDisplayTime.getText();
String endTime = (String) tvDisplayTime.getText();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
try {
Date StartDate = sdf.parse(startTime);
long timeInMillisecondsStart = StartDate.getTime();
Date EndDate = sdf.parse(endTime);
long timeInMillisecondsEnd = Enddate.getTime();
long result = timeInMillisecondsEnd-timeInMillisecondsStart;
if (result > 0){
Toast.makeText(MainActivity.this, " Work ", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this, " Failed ", Toast.LENGTH_LONG).show();
}
} catch (ParseException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
配合检查你的代码:
String startTime = (String) tvDisplayTime.getText();
String endTime = (String) tvDisplayTime.getText();
你一直得到同样的文字......
endTime和startTime始终相等。
答案 1 :(得分:0)
无需转换为以毫秒为单位的时间。只需在日期对象上使用compareTo方法。
来自文档...
返回:
一个int<如果此Date小于指定的Date,则为0;如果它们相等则为0,并且int>如果此日期更大,则为0。
答案 2 :(得分:0)
如果您以指定的格式输入时间/e.g,您的方法是有效的。 HH:mm /,但这对用户来说非常令人沮丧。为什么不使用TimePicker。在onTimeSet回调中,您可以获得用户在int变量中设置的时间
public void onTimeSet(TimePicker view,int hourOfDay,int minute)
此处示例: http://developer.android.com/guide/topics/ui/controls/pickers.html