我使用Java创建了一个应用程序,并且我有一个文本框,我想输入开始时间,另一个输入endtime。在这些参赛作品之后,我希望看到时差hh:mm。以hh:mm的形式输入时间
例子:
开始时间:12:00
结束时间:14:30结果:2:30
我使用Java创建了一个应用程序,并且我有一个文本框,我想输入开始时间,另一个输入endtime。在这些参赛作品之后,我希望看到时差hh:mm。以hh:mm的形式输入时间
例子:
开始时间:12:00
结束时间:14:30结果:2:30
获取毫秒的时间从您的日期 - 领域。从'到'日期摘要'从'开始。例如。
toDate.getTime() - fromDate.getTime()
然后,你必须以毫秒为单位的时间差,计算到秒,小时,天等的简单的事情
milliseconds/1000
数秒等
这将有助于你了解SimpleDateFormat以解析和格式化Date对象。
要在您的文本字段解析日期使用
// use "hh:mm" if you work in 12-hour format or
// use "HH:mm" if you work in 24-hour format
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
try
{
Date date = dateFormat.parse(startTextField.getText());
}
catch (ParseException e)
{
//TODO don't forget process exception
e.printStackTrace();
}
到目前为止给出的都是正确的两个答案,但我认为他们会最好一起利用。
像这样:
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
try {
Date startDate = dateFormat.parse(startTextField.getText());
Date endDate = dateFormat.parse(endTextField.getText());
long differenceMillis = endDate.getTime() - startDate.getTime();
resultTextField.setText(dateFormat.format(new Date(differenceMillis)));
} catch (ParseException e) {
resultTextField.setText("ERROR");
}
所有编码方案见this Javadoc。请注意,此方法将以天为单位减少差异,并仅报告几小时。
[你有什么尝试](http://mattgemmell.com/2008/12/08/what-have-you-tried/),没有工作? – pankar 2012-08-14 08:50:41