Я хочу взять данные из базы данных и сравнить с системным временем - PullRequest
1 голос
/ 14 февраля 2011

Я хочу взять данные из базы данных и сравнить с системным временем. Мой код Android для определения системного времени:

sTimeFirstPart= DateFormat.getTimeInstance(DateFormat.SHORT).format(new Date());

это будет содержать текущее системное время, и как я могу сравнить это время с временем в таблице базы данных, моя таблица БД выглядит так

public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE IF NOT EXISTS names3 (_ID INTEGER PRIMARY KEY     AUTOINCREMENT, medicine VARCHAR, dose1 VARCHAR ,dose2 VARCHAR ,dose3 VARCHAR)");

доза1, доза2, доза3 - это значение времени, хранящееся в базе данных.

и я хочу показать следующее лекарство, в какое время, как я могу сделать это, пожалуйста, помогите мне?

Ответы [ 3 ]

2 голосов
/ 14 февраля 2011

Вы должны рассмотреть вопрос о сохранении даты в виде Миллиса с той эпохи - что возвращает System.currentTimeMillis().

Затем добавьте столбец "theTime" в таблицу и сохраните там следующую дату приема.

Здесь сравнение с использованием <и> легко:

SELECT dose FROM names3 WHERE theTime < ?

и передать текущее время в качестве параметра.

1 голос
/ 14 февраля 2011

Я не разработчик Android, но сравнивать даты как строки - плохая идея на любой платформе. Почему вы не используете Date вместо String? Вы можете преобразовать Varchar в дату типа this и затем сравнить ее с текущим временем с compareTo .

0 голосов
/ 14 февраля 2011

Этот пример решает эту проблему:

SELECT * FROM my_table WHERE 
  start_date <= date('now','localtime') 
  AND end_date >= date('now','localtime')

Смотрите здесь для других функций даты в SQLite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...