Эта статья опубликована только что

42eb55eb0ee38893d053ae1ffa3cc754.png

Здравствуйте, меня зовут Дмитрий Карловский, и я. буквально только что написал эту статью. Ну, на самом деле вчера. А если точнее, то в этом году. Удачи вам понять когда же именно.

Для отображения в интерфейсе предпочтительнее абсолютная временная шкала, которая создаёт минимум трудностей для пользователя во всём многообразии сценариев использования.

Далее вашему вниманию представлен чуть более подробный, но всё же бесчеловечный анализ этого вопроса.

Абсолютная шкала времени

2023-12-06 00:53
6 Oct'23 00:53
Wed, 6 Oct 2023 

✅ Понимание точного момента времени независимо от текущего времени.

✅ Легко упорядочивать разные значения между собой и понимать расстояние между ними.

✅ Просто и надёжно в реализации с минимальными накладными расходами.

❌ Для соотнесения с текущим (или любым другим) временем нужно его помнить/посмотреть и произвести нехитрые расчёты в уме.

Относительная шкала времени

after 3 hours
just now
a minute ago
5 minutes ago
23 hours and 59 minutes ago
yesterday
2 years ago

✅ Понимание удалённости от текущего времени без дополнительных расчётов.

✅ Более человечный, не формальный вывод.

⭕ Сложно или не возможно определить точный момент времени. В лучшем случае оно показывается в подсказке по нажатию/наведению.

⭕ Сложно сравнивать разные значения между собой: понимать какое событие было раньше и на сколько.

⭕ Сильно удалённые события могут попасть в один временной промежуток и создать впечатление своей близости или даже одновременности.

⭕ Очень близкие события могут попасть в разные временные промежутки и создать впечатление своей удалённости друг от друга.

❌ Сложно пользоваться поиском по времени, так как формат представления не единообразен.

❌ Требуется локализация текстов на множество языков с разными словоформами после числительных.

❌ Не соответствует действительности, если нет обновления в реальном времени по любой причине: от распечатки на принтере, до сломавшегося скрипта.

❌ Обновление в реальном времени нагружает систему и может приводить к скачкам лейаута при изменении длины.

❌ Длина может быть как сильно меньше, так и сильно больше абсолютной шкалы.

❌ Требует загрузки и исполнения нетривиальной логики, что удорожает поддержку и повышает багоёмкость.

Комбинированная шкала времени

Yesterday, Wed, 6 Oct 2023 00:53
2023-12-06 00:53, Wed, 2 years ago

✅ Понимание точного момента времени независимо от текущего времени.

✅ Легко упорядочивать разные значения между собой и понимать расстояние между ними.

✅ Понимание удалённости от текущего времени без дополнительных расчётов.

⭕ Сильно удалённые события могут попасть в один временной промежуток и создать впечатление своей близости.

⭕ Очень близкие события могут попасть в разные временные промежутки и создать впечатление своей удалённости друг от друга.

⭕ Относительное значение не соответствует действительности, если нет обновления в реальном времени по любой причине: от распечатки на принтере, до сломавшегося скрипта.

❌ Занимает сильно много места.

❌ Требуется локализация текстов на множество языков с разными словоформами после числительных.

❌ Обновление в реальном времени нагружает систему и может приводить к скачкам лейаута при изменении длины.

❌ Требует загрузки и исполнения нетривиальной логики, что удорожает поддержку и повышает багоёмкость.

Материалы по теме

$mol_time — работаем со временем правильно

Бенчмарки js-библиотек работы со временем

Заблуждения программистов относительно времени

Актуальный оригинал на $hyoo_page.

© Habrahabr.ru