Комментарии 12
Console.WriteLine("The current time is {0}", now.Humanize()); // Текущее время сейчас
Хороший пример для школьников на уроке информатики - напишите программу, которая выведет текущее время.
Ответ: Console.WriteLine("Сейчас");
Очень странно работает, даже в этих примерах. Добавляем сутки - оно пишет "через 23 часа", добавляем недель - "через 6 дней". "Час назад" умеет, а вместо "час вперёд" - "59 минут".
Запустите таймер на 24 часа. Увадите ли вы на нём после запуска 24 часа? На момент вывода сутки превратятся в 23:59:59.9999999 и т.д.
Понятно почему так происходит, непонятно почему не происходит округление.
“Пользователи ожидают увидеть дату и время в формате, который будет легко восприниматься и соответствовать контексту. Например, пользователи хотели бы увидеть что-то вроде "2 часа назад" вместо "2023-12-01 12:14:53"
Вот с этим хотелось бы поспорить.
Дату нельзя вывести.в формате «сегодня» и «2 часа назад» это не время
Это отсылка к интервалу времени- длительности какого то периода.
Вы ставите будильник не 08:00 утра, а не на через 09 часов 15 минут.
Да и работать потом с этими датами тот ещё треш.
Пишите везде в стандартном формате -ISO
2024-03-08 16:00:00 и не парьтесь пользователю мозг.
Поддержка локальных форматов это круто, но их никто не умеет.
Какой формат показать на моем компьютере при заходе на ваш сайт, если сайт на русском, Geo-IPопределяет как пользователь из Германии/ Австрии а локаль на машине выставлена в EN-US?
Знакомая на сайт зашла, так ей при бронировании ресторана в одном мечте календарь показали на английском с первым днём недели Воскресенье, в другом месте вообще на русский переключились. При этом сам сайт/ ресторан в Германии.
Вот это треш!
Кстати, у кого под рукой библиотека, протестируйте как она будет переводить формат в 15 минут назад/ через 15 минут для дней с переходом зимнее/летнее время.
В районе 02:00 :)
Особенно прикольно что в России нет перехода, а в Европе есть :)
>пользователи хотели бы увидеть что-то вроде "2 часа назад" вместо
"2023-12-01 12:14:53" или "завтра в 10:00 утра" вместо "2023-12-02
10:00:00"
Это не пользователи хотят, а сумасшедшие программисты-вредители, по недоразумению вообразившие себя специалистами по UX [нет].
Пользователи хотят, чтобы интерфейс был стабилен, а не вот это вот всё, когда в зависимости от разницы в пару минут тебе меняют формат вывода данных и заставляют переходить от относительных единиц к абсолютным и обратно.
Каждый раз, когда ты видишь своего товарища по работе, который заявляет что-то вроде вышеприведённой цитаты - врежь ему с ноги, морально. Пусть придёт в себя, саботажник.
Console.WriteLine("The current time is {0}", now.Humanize()); // Текущее время сейчас
Если комментарий это вывод команды, тогда возникает вопрос: как это возможно??? Библиотека очень полезная и качественная (портированная на другие яп), но в статье много неточностей...
TimeSpan twoDays = TimeSpan.FromDays(2.75);// Указываем другую культуру
Console.WriteLine(twoDays.Humanize(culture: new CultureInfo("fr-FR"))); // 2 часа
Что-то я не понял, у французов 2.75 дней, это 2 часа? )))
Работа со временем и датой в C# с применением библиотеки Humanizer