Android:无法比较时间米莉

时间:2014-07-28 11:13:09

标签: android datetime compare

我想比较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();
            }

3 个答案:

答案 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