Вставьте метку времени в SQLite для Android - PullRequest
7 голосов
/ 01 февраля 2011

У меня есть следующие поля

1> WorkName - Varchar

2> TimeStap 

Я хотел создать таблицу с вышеуказанными полями.

  1. Каким будет тип данных TimeStamp

  2. Как вставить значения метки времени в таблицу.

  3. Какое значение будет иметь метка времени при вставке данных или как извлечь метку времени.

Я работал над SQLite, но у меня нет опыта по добавлению TimeStamp как поля в таблицу и добавлению значений к нему.

Какие CREATE & INSERT операторы мне следует использовать?

Ответы [ 3 ]

6 голосов
/ 01 февраля 2011

В базе данных Sqlite доступно ограниченное количество типов данных, поэтому я считаю полезным для дат целое число - оно будет принимать длинные значения (динамически корректирует его размер), поэтому для дат можно хранить значение даты в миллисекундах, а даталегко восстанавливается при считывании значений в миллисекундах из базы данных.

0 голосов
/ 05 февраля 2016

Я создаю метку времени следующим образом:

/**
 *
 * @return yyyy-MM-dd HH:mm:ss formate date as string
 */
public static String getCurrentTimeStamp(){
    try {

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentTimeStamp = dateFormat.format(new Date()); // Find todays date

        return currentTimeStamp;
    } catch (Exception e) {
        e.printStackTrace();

        return null;
    }
}
0 голосов
/ 05 февраля 2016

Вы можете использовать Java.sql.Timestamp class в качестве типа столбца вашей таблицы в базе данных SQL.

Поскольку класс SQLiteDatabase не поддерживает метод put() для переменных Timestamp, используйте метод getTime() в классе, чтобы вставить соответствующие миллисекунды этого времени в качестве значения long.(У базы данных SQLite есть метод put() для типа long)
Откройте этот для ссылки на метод.

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