View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001954 | SAS.Планета | Хотелка / Feature request | public | 11-06-2013 07:50 | 11-06-2013 21:32 |
| Reporter | Robbi | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | confirmed | Resolution | open | ||
| Product Version | 121010 | ||||
| Target Version | 41xxxx | ||||
| Summary | 0001954: Добавить в программу настройки формата даты и времени | ||||
| Description | При добавлении меток в одной и той же портативной версии Планеты на компьютерах с разными региональными настройками названия и описания оказываются в разных форматах, что не очень красиво и часто неудобно | ||||
| Tags | No tags attached. | ||||
|
|
Моё мнение - добавление настроек не требуется. Вся куча преобразований даты-времени в строку делится на 2 больших варианта: а) если над полученной строкой не произодится никаких манипуляций, сортировок, анализов и прочего (в том числе сохранения), её видит только текущий пользователь; б) если такие манипуляции производятся, либо если полученной строкой оперируют много пользователей. В первом случае можно и нужно брать настройки из профиля пользователя. Например в edit-ке с датой карты заполнения, закачки и т.п. (и то при сохранении нужен переносимый формат, не зависящий от настроек в профиле, иначе настройка не поднимется или поднимется неверно). Во втором случае настройки из профиля брать не то что нельзя, а даже вредно, поскольку (с точностью до разделителя) практически всегда необходимо (а часто наоборот достаточно) иметь формат типа YYYY_MM_DD_HH_NN_SS.ZZZZZ. Во-первых, он сразу однозначно понятен всем юзерам без исключения, так как год идёт первым, а месяц - вторым. Во-вторых, он переносим между разными сущностями, из проги в СУБД, из СУБД в HTTP, в GPX,... - он понимается программно буквально везде. В-третьих, только он обеспечивает корректную сортировку по дате. В-четвёртых, его очень просто парсить даже при отсутствии разделителей. Обратный разбор произвольного формата, если это другой произвольный формат, в общем случае невозможен, так как нет никакой гарантии, что в момент формирования строки нстройка формата даты-времени не менялась. Использование приведённого формата гарантирует, что он никогда не менялся, и строки на его основе никогда не менялись (при смене настройки в профиле). ... Итого: а) надо просто понять в каждом конкретном случае, какой подход использовать; б) никих дополнительных настроек формата не надо*), ибо по большому счёту пофигу, куда ходить на настройками, принципиально ничего с точки зрения постоянства и разбора это не решает. ----------------------------- *) разве что настройки разделителей, но дата просто и корректно разбирается при любом односимвольном или безисмвольном разделителе, так что даже этот вопрос сильно спорный. |
|
|
Я привёл пример портативного САС. Я в свою БД добавляю всё в фиксированном формате. Запускаю его на другом компе, а там другой формат дат. мне всё равно как отображаются даты в диалогах, но я бы хотел, чтобы внутри БД все текстовые представления дат были в моём формате. Для этого и надо сохранить в ini выбранный формат текстового представления дат в местах не влияющих на интерфейс и сортировки/ссылки, но влияющий на восприятие данных пользователем. |
|
|
>были в моём формате В каком-то особенном? |
|
|
Нет, просто на компе на котором добавил точки формат был другой. Неприятно |
|
|
Тут выше написано буквально следущее: если устраивает формат YYYY_MM_DD_HH_NN_SS.ZZZZZ с точностью до разных разделителей и усечения кусков, ничего выдумывать не надо, потому что если захардкодить этот формат - это будет весьма пользительно, и как минимум - одинаково везде. |
| 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 |