如何在Android中添加时间

如何在Android中添加时间,android,date,time,simpledateformat,date-format,Android,Date,Time,Simpledateformat,Date Format,我从Google Direction API返回了一个持续时间,并将其转换为如下字符串: Common.DURATION = String.valueOf(hours + " hours " + minutes + " mins " + seconds + " seconds "); 我想要的是将持续时间和当前时间相加,并将其显示在文本视图中。我有当前的时间和小时,我转换成如下字符串 String currentDateTimeString = DateFormat.getTimeInstan

我从Google Direction API返回了一个持续时间,并将其转换为如下字符串:

Common.DURATION = String.valueOf(hours + " hours " + minutes + " mins " + seconds + " seconds ");
我想要的是将持续时间和当前时间相加,并将其显示在文本视图中。我有当前的时间和小时,我转换成如下字符串

String currentDateTimeString = DateFormat.getTimeInstance().format(new Date());
如何使用Time方法将这些内容添加到一起并显示出来

                double dist = totalDistance / 1000.0;
                int days = totalSeconds / 86400;
                int hours = (totalSeconds - days * 86400) / 3600;
                int minutes = (totalSeconds - days * 86400 - hours * 3600) / 60;
                int seconds = totalSeconds - days * 86400 - hours * 3600 - minutes * 60;

                Common.DISTANCE = String.valueOf(dist + " km ");
                Common.DURATION = String.valueOf(hours + " hours " + minutes + " mins " + seconds + " seconds ");

                SimpleDateFormat DBFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
                String currentDateandTime = DBFormat.format(new Date());

                Date date = null;
                try {
                    date = DBFormat.parse(currentDateandTime);
                } catch (ParseException e) {
                    e.printStackTrace();
                }

                Calendar calendar = Calendar.getInstance();
                calendar.setTime(date);
                calendar.add(Calendar.HOUR, hours);
                calendar.add(Calendar.MINUTE, minutes);
                calendar.add(Calendar.SECOND, seconds);
                Log.v("1st",""+calendar.getTime());
                Common.ESTIMATED_TIME = String.valueOf(calendar.getTime());

试试这个

在以下三个参数中传递持续时间

int additionalHour = 0;
int additionalMinute = 0;
int additionalSeconds = 0;


SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd:HH:mm", Locale.getDefault());
String currentDateandTime = sdf.format(new Date());

Date date = null;
try {
    date = sdf.parse(currentDateandTime);
} catch (ParseException e) {
    e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.HOUR, additionalHour);
calendar.add(Calendar.MINUTE, additionalMinute);
calendar.add(Calendar.SECOND, additionalSeconds);

System.out.println("Desired Time here "+calendar.getTime());
格式化日期

private static SimpleDateFormat DBFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());

public String getFormatDate() {
        Date date = new Date();
        return DBFormat.format(date);
    }

您能提供当前输出和所需输出吗?我的当前输出将显示当前时间,如下午12点21分+0小时+10分钟,如下所示。虽然我希望输出的是12.31,通过增加时间,可能的重复,顺便考虑一下扔掉长期过时和臭名昭著的麻烦代码< DateFormat <代码>和朋友,然后添加到Android项目中,以便使用< java > java >时间>代码>,即现代Java日期和时间API。和你一起工作真是太好了。java.time的
Duration
类可能也会派上用场。我有个问题。我得到的是这样的:“Thu Jan 01 19:25:15 GMT+08:00 1970”,我只需要获得时间,如“19:25:15”或“7:25:15 PM/AM”,如何获得小时/分/秒?我试图将SimpleDateFormat更改为(““h:mm a”)但仍然无法。我指的是我仍然无法获得这样的时间:“19.25:15”,我将为您更新我的代码,先生,没关系,兄弟。我解决了它。我的错误,我道歉