【发布时间】:2019-04-06 04:17:24
【问题描述】:
我从 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());
【问题讨论】:
-
你能提供你当前的输出以及你想要的输出吗?
-
我当前的输出会像这样显示当前时间,例如 12.21PM + 0 小时 + 10 分钟。而我想要的输出是 12.31 通过加起来时间
-
顺便考虑扔掉长期过时且臭名昭著的麻烦
DateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .与它一起工作要好得多。 java.time 的Duration类可能也会派上用场。
标签: android date time simpledateformat date-format