Java 字符串比较

标签 java android string time

我有这个代码

package com.lestijden;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

TextView Datum;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Datum = (TextView) findViewById(R.id.Tijd);

    Date today = Calendar.getInstance().getTime();
    SimpleDateFormat Formatter = new SimpleDateFormat("km");
    String folderName = Formatter.format(today);

    int result = folderName.compareTo("0");


    if (result > 815 ){
        double data = new Double("905") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 905){
        double data = new Double("955") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }

    else if (result > 955){
        double data = new Double("1045") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }

    else if (result > 1045){
        double data = new Double("1100") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }

    else if (result > 1100){
        double data = new Double("1150") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 1150){
        double data = new Double("1240") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 1240){
        double data = new Double("1310") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 1310){
        double data = new Double("1400") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 1400){
        double data = new Double("1450") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 1450){
        double data = new Double("1505") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 1505){
        double data = new Double("1555") - new Double(folderName); 
        Datum.setText(Double.toString(data));
    }
    else if (result > 1555){
        double data = new Double("1645") - new Double(folderName); 
        Datum.setText(Double.toString(data));

    }
}
}

我希望它像这样工作:例如,如果时间是 14:01。 (1401)然后需要进行计算1450减去当前时间(1401)。并在 TextView 中显示输出 (49)。

我的 TextView 不显示任何输出。我该如何解决这个问题?

最佳答案

您应该将字符串转换为时间对象。将这两次相减并将结果转换为字符串。

java.text.DateFormat df = new java.text.SimpleDateFormat("hh:mm");
java.util.Date date1 = df.parse("14:01");
java.util.Date date2 = df.parse("14:50");
long diff = date2.getTime() - date1.getTime();

Diff 是以毫秒为单位的时间差。

关于Java 字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14537811/

相关文章:

java - 如何在 Jasper Report 中动态显示列?

java - 检测球与用户添加的方 block 的碰撞

java - 如何将字体设置为 AlertDialog.Builder 的 setMessage 部分?

android - 如何将指南针添加到 map View

java - 如何轻松解析这个字符串?

javascript - 将 Tagify javascript 数组转换为字符串

Java 实习生函数

java - 像 Android 那样使用 stub 方法创建 API jar?

java - 递归地构建链接对象的列表

android - 循环内的 Volley 请求