如何在Android中添加时间

问题描述 投票:0回答:1

我有从Google Direction API返回的持续时间,我将其转换为如下字符串:

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

我想要的是将持续时间和当前时间相加并在TextView中显示它。我有当前的时间和小时,我转换为这样的字符串

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());
android date time simpledateformat date-format
1个回答
0
投票

试试这个

通过以下三个参数传递您的持续时间

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);
    }
© www.soinside.com 2019 - 2024. All rights reserved.