如果用户输入是2255和2305,输出应该是10分钟,我如何计算24小时内的时间差。我的想法是把输入分成两个部分,两个数字和两个数字。前两个数字是小时,乘以60就是分钟。然后加上第二个2位数,然后计算差值。我不想使用任何日期日历数据类型或API来解决它。谢谢
发布于 2010-09-28 16:13:58
如何在不使用String chartAt的情况下获取前2位数字。
最高的两位数字: number / 100最低的两位数字:数字% 100
但是如果用户输入3:05或者3-05,你会怎么做呢?我认为这是可用性的问题。最好的解决方案是让用户能够明确地理解UI。例如,您可以对小时和分钟使用单独的字段。
发布于 2010-09-28 15:07:55
String time1 = "2255";
String time2 = "2305";
SimpleDateFormat format = new SimpleDateFormat("HHmm");
Date date1 = format.parse(time1);
Date date2 = format.parse(time2);
long difference = date2.getTime() - date1.getTime(); 不同的是,在millis中,你可以将它转换成任何单位,或者你可以使用apache-commons中的DurationFormatUtils来很好地格式化它。
System.out.println("Duration: "+DurationFormatUtils.formatDuration(difference, "HH:mm"));apache commons有非常好的实用函数,apache-commons (lang)
https://stackoverflow.com/questions/3810023
复制相似问题