Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/12/2013, 17:16
drzaius
 
Fecha de Ingreso: diciembre-2013
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Problemas funciones obtención hora y fecha local

Hola a todos,

Estoy teniendo problemas con las funciones time y localtime para obtener la hora local. En el siguiente ejemplo que muestro intento obtener dos fechas diferentes con un delay de 5 seg entre ellas, usando variables independientes.
Antes de obtener la segunda fecha imprimo también en pantalla la primera para la comprobación.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <windows.h>
  4.  
  5. #define TFECHA 30
  6.  
  7. int main ()
  8.   {
  9.   time_t t1,t2;
  10.   struct tm *tinfo1, *tinfo2;
  11.   char f1[TFECHA],f2[TFECHA];
  12.  
  13.   time(&t1);
  14.   tinfo1=localtime(&t1);
  15.   strftime(f1, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo1);
  16.   printf("%s\n", f1);
  17.  
  18.   Sleep(5000);
  19.  
  20.   time(&t2);
  21.   tinfo2=localtime(&t2);
  22.  
  23.   strftime(f1, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo1);
  24.   strftime(f2, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo2);
  25.   printf("%s\n%s", f1,f2);
  26.  
  27.   return 0;
  28.   }


Sin embargo al imprimir al final las dos últimas fechas, los valores que se obtienen son exactamente iguales. No entiendo por qué al ejecutar tinfo2=localtime(&t2) (linea 21) la estructura t1 también se ve alterada...

La salida que obtengo es:

Código:
25/12/2013 23:54:14
25/12/2013 23:54:19
25/12/2013 23:54:19
Si alguien pudiera aclarármelo se lo agradecería.

Saludos.