Как стать автором
Обновить

Комментарии 12

Console.WriteLine("The current time is {0}", now.Humanize()); // Текущее время сейчас

Хороший пример для школьников на уроке информатики - напишите программу, которая выведет текущее время.
Ответ: Console.WriteLine("Сейчас");

Очень странно работает, даже в этих примерах. Добавляем сутки - оно пишет "через 23 часа", добавляем недель - "через 6 дней". "Час назад" умеет, а вместо "час вперёд" - "59 минут".

Запустите таймер на 24 часа. Увадите ли вы на нём после запуска 24 часа? На момент вывода сутки превратятся в 23:59:59.9999999 и т.д.

Понятно почему так происходит, непонятно почему не происходит округление.

Потому что будущее время люди хотят видеть точным. Кому захочется видеть что у вас важный звонок через час, когда осталось 40 минут. А если 40 минут оставлять без округления, то где тогда установить порог округления.

НЛО прилетело и опубликовало эту надпись здесь

“Пользователи ожидают увидеть дату и время в формате, который будет легко восприниматься и соответствовать контексту. Например, пользователи хотели бы увидеть что-то вроде "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 часа? )))

Зарегистрируйтесь на Хабре, чтобы оставить комментарий