如何在java中添加n小时
我没有多少次 例:- 我想添加所有这些时间。最后计算可能的小时、分钟和秒数 请让我想个办法解决这个问题 我正在尝试使用如何在java中添加n小时,java,android,datetime,calendar,Java,Android,Datetime,Calendar,我没有多少次 例:- 我想添加所有这些时间。最后计算可能的小时、分钟和秒数 请让我想个办法解决这个问题 我正在尝试使用日历执行此操作 更新:- private void test() { String[] dates = { "01:00:06", "02:30:00", "05:00:09", "01:59:06", "10:15:06" }; Calendar calendar1 = Calendar.getInstance
日历执行此操作
更新:-
private void test() {
String[] dates = { "01:00:06", "02:30:00", "05:00:09", "01:59:06",
"10:15:06" };
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
Calendar calendar = Calendar.getInstance();
long totalHours;
for (int i = 0; i < dates.length; i++) {
calendar.setTime(ConstantFunction.StringToDate("HH:mm:ss",
dates[i]));
int hours = calendar.get(Calendar.HOUR_OF_DAY);
int minutes = calendar.get(Calendar.MINUTE);
int seconds = calendar.get(Calendar.SECOND);
if (i == 0) {
calendar1.add(Calendar.HOUR_OF_DAY, hours);
calendar1.add(Calendar.MINUTE, minutes);
calendar1.add(Calendar.SECOND, seconds);
} else {
calendar2.add(Calendar.HOUR_OF_DAY, hours);
calendar2.add(Calendar.MINUTE, minutes);
calendar2.add(Calendar.SECOND, seconds);
}
}
long diffInMilis = calendar2.getTimeInMillis()
- calendar1.getTimeInMillis();
long diffInSecond = diffInMilis / 1000;
long diffInMinute = diffInMilis / (60 * 1000)% 60;
long diffInHour = diffInMilis / (60 * 60 * 1000);
System.out.println("diffInSecond==> " + diffInSecond);
System.out.println("diffInMinute==> " + diffInMinute);
System.out.println("diffInHour==> " + diffInHour);
}
最后,我总结了这个解决方案。但我不知道这样做是否正确。但我得到了预期的机会
private void test() {
String[] dates = { "01:00:06", "02:30:00", "05:00:09", "01:59:06",
"10:15:06" };
long totalSecs=0;
for(int i=0;i<dates.length;i++){
totalSecs+=GetSeconds(dates[i]);
}
long hours = totalSecs / 3600;
long minutes = (totalSecs % 3600) / 60;
long seconds = totalSecs % 60;
System.out.println("hours==> " + hours);
System.out.println("minutes==> " + minutes);
System.out.println("seconds==> " + seconds);
}
private long GetSeconds(String time){
String[] parts = time.split(":");
long totSec=0;
int hour=Integer.parseInt(parts[0]);
int min=Integer.parseInt(parts[1]);
int sec=Integer.parseInt(parts[2]);
totSec=(hour*3600)+(min*60)+sec;
return totSec;
}
private void test(){
字符串[]日期={“01:00:06”、“02:30:00”、“05:00:09”、“01:59:06”,
"10:15:06" };
长总秒=0;
对于(int i=0;i请仔细阅读文档:我建议您在java中使用,因为没有可用的本机方法?为什么不trim
string并简单地添加它们。。
diffInSecond==> 67455
diffInMinute==> 44
diffInHour==> 18
private void test() {
String[] dates = { "01:00:06", "02:30:00", "05:00:09", "01:59:06",
"10:15:06" };
long totalSecs=0;
for(int i=0;i<dates.length;i++){
totalSecs+=GetSeconds(dates[i]);
}
long hours = totalSecs / 3600;
long minutes = (totalSecs % 3600) / 60;
long seconds = totalSecs % 60;
System.out.println("hours==> " + hours);
System.out.println("minutes==> " + minutes);
System.out.println("seconds==> " + seconds);
}
private long GetSeconds(String time){
String[] parts = time.split(":");
long totSec=0;
int hour=Integer.parseInt(parts[0]);
int min=Integer.parseInt(parts[1]);
int sec=Integer.parseInt(parts[2]);
totSec=(hour*3600)+(min*60)+sec;
return totSec;
}