[eside-ghost] Fecha Lifeblog

Álvaro Morán nirvana644 en gmail.com
Dom Dic 19 00:18:17 CET 2010


Hola,

Quería convertir fechas de la aplicación Nokia Lifeblog desde el formato en
que estas se guardan en la base de datos de sqlite
 (NokiaLifeblogDataBase.db3) a un formato más fácil de entender.
Las fechas se guardan con un formato como este 39478.764525463 (que equivale
al 31/1/2008 18:20:55) donde la parte entera guarda el día, mes y año y la
parte decimal la hora, minutos y segundos.
He averiguado que para convertir la parte entera basta con hacer

public static int INICIO = 39447;
public static int[] convertirFloatFechaAEnteros(double fecha) throws
Exception
{
// Este número 39467 se corresponde al día 18 de enero de 2008
// por tanto  0 de enero de 2008 <--> 39447, que es un valor ficticio de
referencia (no existe el día 0)

int numAAnalizar = (int) fecha;

if(numAAnalizar<=INICIO)
throw new Exception("Sólo se permiten fechas superiores o iguales al 1 de
enero de 2008, que se corresponden con la parte entera "+(INICIO+1)+".");

int año=2008, mes = 1;// dia = 0;
int numDias = numAAnalizar - INICIO;

if(numDias > 366)
{
numDias -= 366;
año ++;
}

while(numDias >  diasMeses[mes -1] )
{
if(mes != 2) {
numDias -= diasMeses[mes -1];
mes ++;
}
else
{
if(esBisiesto(año)) {
if(numDias > 29)
{
numDias -= 29;
mes ++;
}
}
else {
if(numDias > 28)
{
numDias -= 28;
mes ++;
}
}
}
}
//System.out.println("Número analizado: "+numAAnalizar+" Fecha =
"+numDias+"-"+mes+"-"+año);
return new int[] {numDias, mes, año};
}


Sin embargo por mucho que he googleado no tengo la más remota idea de cómo
convertir la parte decimal a su correspondiente hora, minutos y segundos. ¿A
alguien se le ocurre algo?.

Adjunto un fichero en java que funciona (la parte que ya comenté).

Atentamente Álvaro
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20101219/0edc999d/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : Prueba3.java
Tipo       : application/octet-stream
Tamaño     : 4523 bytes
Descripción: no disponible
Url        : https://listas.deusto.es/mailman/private/eside-ghost/attachments/20101219/0edc999d/attachment.obj 


Más información sobre la lista de distribución eside-ghost