CSS: Динамическая ширина в Меню

java.time

Во-первых, как уже сказал Bowmore , вы не должны хранить строки в своем списке. Вместо этого используйте экземпляры классов java.time .

Сохранить LocalDateTime объектов. Или ZonedDateTime, если вы знаете, в каком часовом поясе время. Строки хороши для представления пользователю, а не для манипуляций в вашей программе, таких как сортировка.

Следующий код преобразует ваш список в List:

    DateTimeFormatter formatter 
            = DateTimeFormatter.ofPattern("MM/dd/uuuu '@'hh:mm a", Locale.ENGLISH);

    List dateTimeList = datestring.stream()
            .map(ds -> LocalDateTime.parse(ds, formatter))
            .collect(Collectors.toCollection(ArrayList::new));

Теперь сортировка проста:

dateTimeList.sort(Comparator.naturalOrder());

LocalDateTime имеют естественный порядок, поскольку они реализуют Comparable, поэтому Comparator.naturalOrder() подходит для сортировки. Другой способ получения такой же сортировки:

dateTimeList.sort(LocalDateTime::compareTo);

Чтобы представить отсортированные данные пользователю, мы хотим отформатировать дату и время в строки, конечно:

dateTimeList.forEach(ldt -> System.out.println(ldt.format(formatter)));

вывод:

01/21/2013 @10:41 AM
01/21/2013 @10:48 AM
01/21/2013 @03:13 PM
01/21/2013 @04:37 PM
01/21/2013 @05:19 PM
01/21/2013 @05:19 PM
01/22/2013 @06:16 AM
01/22/2013 @06:19 AM

За исключением точек с запятой и одной простой опечатки, я считаю, что это именно то, что вы просили.

Ссылка: Обучающая программа Oracle: Дата и время , объясняющая, как использовать java.time, современный Java-интерфейс даты и времени, который включает в себя LocalDateTime и DateTimeFormatter.

1
задан Community 23 May 2017 в 10:32
поделиться

1 ответ

и иметь равномерное распределение ширины

Только таблицы (или CSS display: table) дадут вам такое поведение, если вы не рассчитываете ширину с помощью JS (что нелегко или идеально).

2
ответ дан 3 September 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: