View Issue Details

IDProjectCategoryView StatusLast Update
0001954SAS.ПланетаХотелка / Feature requestpublic11-06-2013 21:32
ReporterRobbi Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status confirmedResolutionopen 
Product Version121010 
Target Version41xxxx 
Summary0001954: Добавить в программу настройки формата даты и времени
DescriptionПри добавлении меток в одной и той же портативной версии Планеты на компьютерах с разными региональными настройками названия и описания оказываются в разных форматах, что не очень красиво и часто неудобно
TagsNo tags attached.

Activities

vasketsov

11-06-2013 08:33

manager   ~0011634

Моё мнение - добавление настроек не требуется.

Вся куча преобразований даты-времени в строку делится на 2 больших варианта:
а) если над полученной строкой не произодится никаких манипуляций, сортировок, анализов и прочего (в том числе сохранения), её видит только текущий пользователь;
б) если такие манипуляции производятся, либо если полученной строкой оперируют много пользователей.

В первом случае можно и нужно брать настройки из профиля пользователя. Например в edit-ке с датой карты заполнения, закачки и т.п. (и то при сохранении нужен переносимый формат, не зависящий от настроек в профиле, иначе настройка не поднимется или поднимется неверно).

Во втором случае настройки из профиля брать не то что нельзя, а даже вредно, поскольку (с точностью до разделителя) практически всегда необходимо (а часто наоборот достаточно) иметь формат типа YYYY_MM_DD_HH_NN_SS.ZZZZZ.
Во-первых, он сразу однозначно понятен всем юзерам без исключения, так как год идёт первым, а месяц - вторым.
Во-вторых, он переносим между разными сущностями, из проги в СУБД, из СУБД в HTTP, в GPX,... - он понимается программно буквально везде.
В-третьих, только он обеспечивает корректную сортировку по дате.
В-четвёртых, его очень просто парсить даже при отсутствии разделителей. Обратный разбор произвольного формата, если это другой произвольный формат, в общем случае невозможен, так как нет никакой гарантии, что в момент формирования строки нстройка формата даты-времени не менялась. Использование приведённого формата гарантирует, что он никогда не менялся, и строки на его основе никогда не менялись (при смене настройки в профиле).
...

Итого:
а) надо просто понять в каждом конкретном случае, какой подход использовать;
б) никих дополнительных настроек формата не надо*), ибо по большому счёту пофигу, куда ходить на настройками, принципиально ничего с точки зрения постоянства и разбора это не решает.
-----------------------------
*) разве что настройки разделителей, но дата просто и корректно разбирается при любом односимвольном или безисмвольном разделителе, так что даже этот вопрос сильно спорный.

Robbi

11-06-2013 08:48

developer   ~0011637

Я привёл пример портативного САС. Я в свою БД добавляю всё в фиксированном формате. Запускаю его на другом компе, а там другой формат дат. мне всё равно как отображаются даты в диалогах, но я бы хотел, чтобы внутри БД все текстовые представления дат были в моём формате. Для этого и надо сохранить в ini выбранный формат текстового представления дат в местах не влияющих на интерфейс и сортировки/ссылки, но влияющий на восприятие данных пользователем.

vasketsov

11-06-2013 12:19

manager   ~0011648

>были в моём формате
В каком-то особенном?

Robbi

11-06-2013 12:29

developer   ~0011649

Нет, просто на компе на котором добавил точки формат был другой. Неприятно

vasketsov

11-06-2013 21:32

manager   ~0011653

Тут выше написано буквально следущее: если устраивает формат YYYY_MM_DD_HH_NN_SS.ZZZZZ с точностью до разных разделителей и усечения кусков, ничего выдумывать не надо, потому что если захардкодить этот формат - это будет весьма пользительно, и как минимум - одинаково везде.

Issue History

Date Modified Username Field Change
11-06-2013 07:50 Robbi New Issue
11-06-2013 08:00 vdemidov Status new => confirmed
11-06-2013 08:00 vdemidov Product Version => 121010
11-06-2013 08:00 vdemidov Target Version => 41xxxx
11-06-2013 08:00 vdemidov Summary Формат используемых в программе дат хранить в ini => Добавить в программу настройки формата даты и времени
11-06-2013 08:33 vasketsov Note Added: 0011634
11-06-2013 08:48 Robbi Note Added: 0011637
11-06-2013 12:19 vasketsov Note Added: 0011648
11-06-2013 12:29 Robbi Note Added: 0011649
11-06-2013 21:32 vasketsov Note Added: 0011653
08-08-2025 13:24 zed Category Хотелка => Хотелка / Feature request