Я понимаю, что SQLite хранит даты как длинные целые числа.Когда я читаю строки, используя стандартный метод (то есть, используя метод query (), который считывает данные в курсор), результатом является строка даты, которая включает время:
2010-05-25 19:52:04
Если я хочу другой форматЯ должен разобрать строку обратно в дату - возможно, но немного назад.
Используя ViewBinder (как предложено в в этом вопросе ), я могу в значительной степени делать все, что захочу, но дата уже является строкой во время выполнения переопределенного метода.
Принятый ответ на вышеупомянутый вопрос также предполагает, что сохранение дат как длинных поможет избежать этой проблемы.Я не хочу этого делать, просто на случай, если я захочу интерпретировать свои данные чем-то другим, кроме этого приложения.Может быть, я хочу показать его через провайдера.
Что еще хуже, экземпляр DateFormat, полученный через
android.text.format.DateFormat.getDateFormat(getApplicationContext())
, не может проанализировать такую строку даты, которая возвращается курсором.На самом деле нет статического метода, который мог бы сделать это - это одностороннее преобразование, очевидно, оплошность.
Есть ли способ вместо этого обработать это в адаптере базы данных, то есть контролировать формат даты, который использует курсорсодержит, так что мне не нужно менять схему, и не нужно анализировать выходные данные по умолчанию обратно в тип даты?
Ответы до сих пор предполагают, что я должен выполнить форматирование вывода вбаза данных.Я не хочу делать это по нескольким причинам, особенно потому, что я не могу форматировать даты, основываясь на локали пользователя, таким образом (не так просто).