Подтвердить что ты не робот

Calendar.MINUTE, дающий минуты без начального нуля

Привет всем Я использую код ниже, чтобы получить время телефона Android, но он дает мне минуты без нуля, если минуты находятся между 1 и 9.

например: прямо сейчас у меня есть время на моем устройстве 12:09, но это дает мне 12: 9

Calendar c = Calendar.getInstance();
int hrs = c.get(Calendar.HOUR);
int mnts = c.get(Calendar.MINUTE);
String curTime = "" + hrs + ":" + mnts;
return curTime;

после кода выше, я также попробую ниже код, который он дает то же, что и выше, минуты без нуля, прежде чем указывать минуты между 1 и 9.,

final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
Date date = cal.getTime();
int mHour = date.getHours();
int mMinute = date.getMinutes();
4b9b3361

Ответ 1

Как сказал Егор, int является целым числом. Целые числа не имеют начальных нулей. Они могут отображаться только с ведущими нулями при преобразовании их в объекты String. Один из способов сделать это:

String curTime = String.format("%02d:%02d", hrs, mnts);

Строка формата %02d форматирует целое число с ведущими нулями (0 в %02d), всегда занимая 2 цифры ширины (2 в %02d).

Это создаст String

12:09

Ответ 2

Все сказано о целых числах. Но, имея дело с датами и Календари для отображения этой информации, необходимо использовать так:

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yourpattern"); //like "HH:mm" or just "mm", whatever you want
String stringRepresentation = sdf.format(date);

рисунок "мм" будет иметь передний ноль, если он находится между 0 и 9. Если вы используете "мммм", вы получите 0009, что не похоже на то, что это имеет большой смысл, но все зависит от на что вы хотите.:)

если вы используете шаблон HH:mm, вы получите 12:09 (текущее время экземпляра даты).

Ответ 3

Вы можете форматировать дату, используя класс SimpleDateFormat

если вы получаете дату и время из экземпляра календаря: -

final Calendar c = Calendar.getInstance();

SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm");
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");

timeEdittext.setText(timeFormat.format(c.getTime()));
dateEdittext.setText(dateFormat.format(c.getTime()));

если у вас есть день, месяц, год, час, минута как целое (обычно это происходит в диалоговом окне datepicker и timepicker)

Calendar calendar = Calendar.getInstance();

calendar.set(year, month, dayOfMonth);
String date = new SimpleDateFormat("dd-MM-yyyy").format(calendar.getTime());

Ответ 4

function time()
{
  var time = new Date();
  var hh = time.getHours();
  var mmm = time.getMinutes();

  if(mmm<10) 
  {
    mmm='0'+mmm
  } 

  time = 'T'+hh+':'+mmm;
  return time;
}