Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何计算字符串时间差_Java_String_Int - Fatal编程技术网

Java 如何计算字符串时间差

Java 如何计算字符串时间差,java,string,int,Java,String,Int,我有一连串的“上午9点到下午5点” 我想把这两个数字相减,找出小时数的差值。那么你试过什么了?提示:1字符串#拆分()方法2SimpleDataFormat类。您只使用第一个令牌initialTime并忘记12PM=12:00,而不是24:00 oops:)@SashaSalauyou int intervalHours(String input) { String[] ts = input.split("-"); // {"9AM", "5PM"} return

我有一连串的“上午9点到下午5点”
我想把这两个数字相减,找出小时数的差值。

那么你试过什么了?提示:1<代码>字符串#拆分()方法2
SimpleDataFormat
类。您只使用第一个令牌
initialTime
并忘记12PM=12:00,而不是24:00 oops:)@SashaSalauyou
int intervalHours(String input) {
    String[] ts = input.split("-");         // {"9AM", "5PM"}
    return toHours(ts[1]) - toHours(ts[0]);

}

int toHours(String t) {
    int h = Integer.parseInt(t.substring(0, t.length() - 2));
    if (t.endsWith("PM"))
        return h == 12 ? 12 : (h + 12);
    else 
        return h == 12 ? 0 : h;
}

// ...

System.out.println(intervalHours("9AM-5PM"));
public void time()
{
    String t="12AM-5PM";``

    StringTokenizer st=new StringTokenizer(t,"-");

    String initialTime=st.nextToken();
    String finalTime=st.nextToken();
    int t1=0;
    int t2=0;

    if(initialTime.contains("AM"))
    {
        t1=Integer.valueOf(initialTime.replace("AM",""));
    }
    else
    {
        t1=Integer.valueOf(initialTime.replace("PM",""))+12;

    }


    if(finalTime.contains("AM"))
    {
        t2=Integer.valueOf(finalTime.replace("AM",""));
    }
    else
    {
        t2=Integer.valueOf(finalTime.replace("PM",""))+12;
    }

    System.out.println(t2-t1);
}