Как получить 2 цифры в LocalDateTime.now().minusMinutes(1).getMinute()?
Пишу автотест Java+Cucumber+Gherkin, в котором есть такой шаблон в MyTemplate.java:
template.getTemplate().put("<МИНУС_1_МИНУТА>", arg ->
String.valueOf(LocalDateTime.now().minusMinutes(1).getMinute()));
Сценарий с данным шаблоном отрабатывает корректно только если, время >10 минут любого часа. Подскажите, как мне получить 2 числа для минут? Чтобы работало с <=0 до 10 минут.
ожидалось: 21:2, фактически: 21:02
Сам запрос: | message | Установить будильник на <ЧАСЫ> <МИНУС_1_МИНУТА> |
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
"Две цифры" следует получать при преобразовании числа в строку, например при помощи форматирования, то есть, вместо String.valueOf
достаточно использовать String.format
для минут:
System.out.println(String.format("%02d", LocalDateTime.now().minusMinutes(1).getMinute())); // -> 04
Или же можно отформатировать время при помощи форматтера:
DateTimeFormatter mins = DateTimeFormatter.ofPattern("mm");
System.out.println(LocalDateTime.now().minusMinutes(1).format(mins)); // -> 04