Я пытаюсь добавить количество минут к текущему времени в Android.
Я хочу использовать формат Simpledate как ("EEE, d MMM гггг ЧЧ: мм: сс Z")
Сначала я хочу объяснить, какова моя концепция.
- Существует список Recyclerview, где в каждой строке пользователь выбирает время. Предположим, я выбрал 50 минут. эти 50 минут добавляются к текущему времени и сохраняются в базе данных.
Я использовал код ...
String t = time.getText().toString();
int ti = Integer.parseInt(t);
@SuppressLint("SimpleDateFormat") SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
Calendar now = Calendar.getInstance();
String a = now.get(Calendar.HOUR_OF_DAY) + ":" + now.get(Calendar.MINUTE) + ":" + now.get(Calendar.SECOND);
now.add(Calendar.MINUTE,ti);
a = now.get(Calendar.HOUR_OF_DAY) + ":" + now.get(Calendar.MINUTE) + ":" + now.get(Calendar.SECOND);
adminList = mFirestore.collection("AdminList");
Map<String,Object> k = new HashMap<>();
k.put("order",order);
k.put("status","Pending");
k.put("hotel_name",hotel);
k.put("user_id",userid);
k.put("time",a);
adminList.document(order).update(k);
- Пользователь получает это время из базы данных и вычитает его из текущего времени в секунду, чтобы список отображался с таймером обратного отсчета.
код для этого.
void updateTimeRemaining(String text) {
if (o.getOrder().equalsIgnoreCase("order1")) {
try {
TimeZone.setDefault(TimeZone.getDefault());
String stop = ol.getTime();
@SuppressLint("SimpleDateFormat") SimpleDateFormat format = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
Calendar end_date = Calendar.getInstance();
end_date.setTime(format.parse(stop));
final Calendar today = Calendar.getInstance();
timeDiff = end_date.getTimeInMillis() - today.getTimeInMillis();
if (timeDiff > 0) {
long seconds = timeDiff / 1000 % 60;
long minutes = timeDiff / (60 * 1000) % 60;
long hours = timeDiff / (60 * 60 * 1000) % 24;
//long days = (int) timeDiff / (24 * 60 * 60 * 1000);
//long days = TimeUnit.MILLISECONDS.toDays(timeDiff);
String left = "";
//if (days > 0)
// left += days + " " + /*context.getString(R.string.txt_day) +*/ ":";
if (hours > 0)
left += hours + " " +/* context.getString(R.string.txt_hour) + */":";
if (minutes > 0)
left += minutes + " " +/* context.getString(R.string.txt_minute) + */":";
left += seconds + " " /*+ context.getString(R.string.txt_second)*/;
String finalLeft = left;
text = finalLeft;
time.setText("00:" + finalLeft);
} else {
time.setText("Finished");
}
// }
} catch (Exception ex) {
ex.printStackTrace();
}
// }
}
Итак, моя последняя проблема,
Как добавить 50 минут к текущему времени в формате "EEE, d MMM гггг ЧЧ: мм: сс Z"