2011-02-01 13 views
7

tengo los siguientes camposInsertar marca de hora en SQLite para Android

 
1> WorkName - Varchar 

2> TimeStap 

que quería crear una tabla con los campos anteriores.

  1. ¿Cuál será el tipo de datos timestamp

  2. ¿Cómo puedo insertar los valores de fecha y hora a la mesa.

  3. ¿Cuál será el valor de la marca de tiempo al insertar datos o cómo recuperar la marca de tiempo?

He trabajado en SQLite, pero no tienen ninguna experiencia en la adición de marca de hora como un campo a la mesa & agregar valores a eso.

¿Qué tipo de CREATE & INSERT declaraciones debo usar?

+0

también interesado en este tema. =) – prolink007

Respuesta

6

Hay tipos de datos limitados disponibles en una base de datos Sqlite, por lo que el que encuentro útil para las fechas es entero; esto aceptará valores largos (ajusta dinámicamente su tamaño) así que para las fechas almacena el valor de milisegundos de una fecha y ser fácilmente reconstituido cuando se vuelven a leer los valores en milisegundo de la base de datos.

+0

Este es el método que estaba usando, solo estaba usando el temporizador de época y solo almacenaba esa fecha int y luego reconstruía el tiempo real cuando era necesario. Me preguntaba si había un método mejor. Gracias – prolink007

+0

Gracias John & prolink por tus comentarios – chiranjib

0

Puede usar Java.sql.Timestamp class como el tipo de datos de columna de su tabla en una base de datos SQL.

Desde SQLiteDatabase clase no admite un método put() para Timestamp las variables, utilice el método getTime() en la clase para insertar los milisegundos correspondientes de dicho tiempo como un valor long. (SQLiteDatabase tiene un método put() para long tipo)
Open this para la referencia del método.

0

puedo crear marca de tiempo por esto:

/** 
* 
* @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; 
    } 
} 
Cuestiones relacionadas