Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как форматировать вывод даты в зависимости от локали? / 6 сообщений из 6, страница 1 из 1
11.06.2010, 11:50
    #36682368
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как форматировать вывод даты в зависимости от локали?
В табличке дата вот в таком виде:
MODIFY_DATE
2010-06-10 18:12:00

Понял как форматировать ее в каком мне надо виде, например
select strftime("%d.%m.%Y %H:%M", MODIFY_DATE) from testtbl
показывает
10.06.2010 18:12

Теперь хотелось бы копнуть еще глубже, и сделать вывод в формате текущей локали пользователя. Т.е показывать с теми же разделителями, и в том же порядке к которому привык пользователь. Это возможно сделать через запрос? Или только уже в самом клиенте придется отпределять FormatSettings?
...
Рейтинг: 0 / 0
11.06.2010, 11:57
    #36682403
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как форматировать вывод даты в зависимости от локали?
OracleLoverТ.е показывать с теми же разделителями, и в том же порядке к которому привык пользователь. Это возможно сделать через запрос?
Регистрируй свою функцию и в ней форматируй как тебе хочется. Ну или извращайся
со встроенными функциями. Это если тебе надо чтобы именно SQLite возвращал дату
в виде оформатированной как тебе надо строки.
OracleLoverИли только уже в самом клиенте придется отпределять FormatSettings?
Можно и средствами Delphi. Но это зависит от компонентов доступа к SQLite.
...
Рейтинг: 0 / 0
11.06.2010, 12:09
    #36682456
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как форматировать вывод даты в зависимости от локали?
Dmitry Arefiev,

Cпасибо - понятно что можно через делфи, сделать что-то типа

Код: plaintext
1.
GetLocalFormatSettngs(...);
Query.SelectSQL := 'select strftime("%d' + <разделитель локали и т.д> + '%m.%Y %H:%M:%S", modify_date) from testtbl';

Но это как-то банально :)

А что сие значит
автор Ну или извращайся
со встроенными функциями
?
Я наверное как раз про это и спрашиваю - можно ли средствами самого склайта получить региональные настройки и заюзать их в запросе\функции и т.д. Ибо клиент и сервер крутятся на одной машинке, и я думаю требование вполне логичное. Просто слово извращайся меня насторожило ;)
...
Рейтинг: 0 / 0
11.06.2010, 13:24
    #36682709
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как форматировать вывод даты в зависимости от локали?
OracleLoverЯ наверное как раз про это и спрашиваю - можно ли средствами самого склайта получить региональные настройки и заюзать их в запросе\функции и т.д.
Ищи здесь или в гугле по ключевому слову sqlite3_create_function.
Еще раз, в зависимости от компонентов доступа, в них уже могут быть
упрощенные средства регистрации пользовательских функций и примеры.
...
Рейтинг: 0 / 0
11.06.2010, 17:52
    #36683528
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как форматировать вывод даты в зависимости от локали?
OracleLoverCпасибо - понятно что можно через делфи, сделать что-то типа

Код: plaintext
1.
GetLocalFormatSettngs(...);
Query.SelectSQL := 'select strftime("%d' + <разделитель локали и т.д> + '%m.%Y %H:%M:%S", modify_date) from testtbl';

Но это как-то банально :)Это не банально, а неправильно.

Не Дельфях я уже лет пять не писал, так что не обессудь за псевдокод:
Код: plaintext
1.
Query.SelectSQL := 'select modify_date from testtbl';
Label1.Caption = Query.fields( 0 ).toDateTime().toString(asLocalTime);

OracleLoverА что сие значит
автор Ну или извращайся со встроенными функциями
?
Это значит, что в принципе можно сделать свою собственную функцию, зарегистрировать ее в движке sqlite и потом использовать. Но по хорошему, заниматься форматированием отображения данных должен клиент а не база.
...
Рейтинг: 0 / 0
11.06.2010, 18:33
    #36683587
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как форматировать вывод даты в зависимости от локали?
White OwlLabel1.Caption = Query.fields(0).toDateTime().toString(asLocalTime)
Точно не писал давно :)
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как форматировать вывод даты в зависимости от локали? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]