..и позже получить и показать их как строки?Как сохранить текущую дату и время локали в SQLite
Я прошу пользователя ввести какой-либо ввод, и я хочу сохранить как дату (т. Е. День, месяц и год), так и время (т. Е. Час дня), этот вход был отправлен. Затем каждая запись сохраняется в моей базе данных SQlite, а затем извлекается из RecyclerView
.
Я столкнулся с двумя проблемами, по крайней мере. Прямо сейчас я создал два поля TEXT
в базе данных, FIELD_DATE
и FIELD_TIME
, где я хотел бы хранить строковое представление даты & времени в формате в зависимости от локали пользователя Android.
Из того, что я прочитал, android.text.format.DateFormat
должен мне помочь. Поэтому я:
java.text.DateFormat dateFormat = DateFormat.getMediumDateFormat(getActivity());
java.text.DateFormat timeFormat = DateFormat.getTimeFormat(getActivity());
Теперь я думаю, что я должен вызвать format(Date d)
на обоих объектах, чтобы получить мои строки, но я не знаю, где я могу получить этот Date
объект - даже не знаю, если мои две строки верный. Итак:
- Как получить строковое представление текущего времени даты &, на основе определенного пользователя (на OS уровня) локала?
Сказанное (спрошено), интересно, действительно ли то, что я ищу, два поля для даты &. Как сказал, в конце я хотел бы показать RecyclerView
, читая базу данных. В том, что я также необходимо отфильтровать записи по дате, т.е.
Записи со ссылкой на последнюю неделю // последний месяц // Все записи
Так я и спрашиваю:
Это шаблон с двумя текстовыми полями, правильный выбор для хранения даты & времени, учитывая необходимость легко отфильтровывать записи, принадлежащие, скажем, на прошлой неделе? Должен ли я иметь отдельные столбцы для дня, месяца и года?
Как запросить базу данных, чтобы иметь только строки прошлой недели, учитывая структуру
FIELD_DATE
/FIELD_TIME
(или любую другую лучшую структуру, которую вы можете предложить)?
Я совершенно застрял в этих трех вопросах.
Edit: наконец-то придумали, как получить строки, которые я хотел сначала, это было так же просто, как создание нового Date
объекта:
Date d = new Date();
String date = DateFormat.getMediumDateFormat(getActivity()).format(d);
String time = DateFormat.getTimeFormat(getActivity()).format(d);
Теперь у меня есть и потребности в отобразить эти строки (что довольно просто, поскольку они уже отформатированы) и применить некоторый фильтр к db, например записи, принадлежащие прошлой неделе (что, в свою очередь, будет довольно простым с текущим временем в миллисекундах с 1970 года). Что делать?
Я хранящий его в виде строки в моем текущем проекте – Apurva