Java 如何计算字符串时间差
我有一连串的“上午9点到下午5点”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
我想把这两个数字相减,找出小时数的差值。那么你试过什么了?提示: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);
}