提前致谢。我可以根据需要发送我的代码,其中有很多代码,人们会告诉我代码的布局,而不是帮助解决实际问题。
这些是我的int输入。没有开始时间和结束时间有3个优先注册,这可能是我遇到麻烦的原因
String Starth = JOptionPane.showInputDialog(null,
"Competitor Enter your Start time (hours)" );
int Starthour=Integer.parseInt(Starth);
String Startm = JOptionPane.showInputDialog(null,
"Competitor Enter your Start time (mins)" );
int Startmin=Integer.parseInt(Startm);
String Starts = JOptionPane.showInputDialog(null,
"Competitor Enter your Start time (secs)" );
int Startsec=Integer.parseInt(Starts);
String Endh = JOptionPane.showInputDialog(null,
"Competitor Enter your End time (hours)" );
int Endhour=Integer.parseInt(Endh);
String Endm = JOptionPane.showInputDialog(null,
"Competitor Enter your End Time (mins)" );
int Endmin=Integer.parseInt(Endm);
String Ends = JOptionPane.showInputDialog(null,
"Competitor Enter your End Time (secs)" );
int Endsec=Integer.parseInt(Ends);
这是我目前编写的时间代码
int Timeh = (Endhour - Starthour);
int Timem = (Endmin - Startmin);
int Times = (Endsec - Startsec);
在代码的最后我使用system.out.print("" + Timeh + Timem + Times)
好吧,我的问题是我的代码不会花费一分钟或一小时的时间,如果分钟或秒的结束时间小于开始时间分钟或秒,它只会打印出一个负数。 即时通过从结束时间开始的时间来解决它。 例如 开始时间: 12:45:45 时间结束: 14时30分三十秒
生产 总时间: 02:-15:-15
不是小时/分钟/秒的单位 对不起,如果我不清楚我的问题
答案 0 :(得分:0)
public static void main(String[] args) throws Exception {
TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
Date d1 = format.parse("12:34:23");
Date d2 = format.parse("13:44:33");
Date d3 = new Date((long) d2.getTime() - d1.getTime());
System.out.println(format.format(d1));
System.out.println(format.format(d2));
System.out.println(format.format(d3));
}