PDA

Ver la versión completa : Obtener fecha en c



Weif Raider
06/04/2005, 00:23
Wenas... tengo que obtener la fecha actual desde c.

Cuando programo en linux lo hago con gettimeofday(). Me hacen falta el nº de segundos. Pero ahora tengo q hacerlo en windows, concretamente con el visual studio.

Alguien sabe alguna forma de obtener ese dato?

gracias!

Uncanny
06/04/2005, 02:18
Más cogido un poco oxidado en esta cuestión, sobre todo desde el entorno MS "Visual" C. Atendiendo a la libreria estandar ANSI de C, las funciones de fecha y hora estaban en el archivo de cabecera time.h (http://c.conclase.net/librerias/libreria.php?lib=time) y la función principal que necesidas es localtime() que te devuelve la fecha y hora actual del sistema expresada en tiempo local y si solo necesitas extraer los segundos puedes usar la función strftime().

Como ya es algo tarde comprenderás que no tengo las neuronas como para escribir algo en C :loco: pero en la web del enlace que te he puesto sobre la libreria time.h tienes un ejemplo sencillo en la función localtime() que puedes usar con alguna ligera modificación si como dices solo quieres obtener los segundos.

P.D: Si mi memoria no me falla, y lo digo por si te da problemas con MS VC, el tipo definido como time_t es realmente un tipo entero largo (long int).

Weif Raider
06/04/2005, 13:42
OKs Uncanny. Esa librería, junto con time/sys, son las que utilizo yo en linux. El tema es que en visual c ni siquiera me dejaba hacer el **** include...

hasta que esta mañana en vez de hacer:

#include <time.h> me dio por poner #include "time.h", justo al revés de como lo hacía en linux, y ya rula. El problema era que nisiquiera me cargaba la librería.

Muchas gracias por el link ;)

Uncanny
06/04/2005, 17:01
De nada :). Lo de usar la directiva include del preprocesador de C con un archivo de cabecera bajo "" o <> deberia ser solo, respectivamente, cuando queremos referirnos a una ruta local respecto al archivo fuente que estamos usando o cuando nos referimos al directorio include del sistema (en la mayoria de distros Linux, /usr/include) o del compilador, lo que pasa es que MS VC++ y su compilador deben ser algo "especiales" por asi decirlo y como siempre he evitado usarlo pues ni se me ocurrio que pudiera dar un fallo así.