• Jueves 2 de Mayo de 2024, 19:28

Autor Tema:  Re: contadores con reloj del sistema  (Leído 1431 veces)

enga

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
    • http://enga.no-ip.com
Re: contadores con reloj del sistema
« en: Martes 17 de Diciembre de 2002, 23:20 »
0
quiero hacer un contador usando alguna funcion que devuelva la hora o algo parecido , alguien me podria dar alguna idea asias

bench

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
contadores con reloj del sistema
« Respuesta #1 en: Miércoles 1 de Enero de 2003, 20:50 »
0
Enga:

   No se que estas tratando de hacer Pero aqui tienes información Para el manejo de fecha y horas en forma estandar en lenguaje C.

    Las Funciones estandar para manejar la fecha y la hora del sistema estan
definidas en el archivo de cabezera TIME.H.
    En ella se definen dos tipos de variables para el manejo de las fechas y
las horas:

size_t:
    Similar a un entero sin signo.
clock_t y time_t:
    Permiten representar la fecha y la hora como un entero largo.
y el tipo de estructura "tm"
    Este tipo de estructura permite mantener la fecha y la hora separada en
sus elementos y esta definida de la siguiente manera:

struct tm
  {
    int tm_sec;     /* segundos 0-59 */
    int tm_min;    /* minutos 0-59 */
    int tm_hour;   /* horas 0-23 */
    int tm_mday; /* día del mes 1 - 31 */
    int tm_mon;   /* meses desde enero 0-11 */
    int tm_year;   /* años desde 1900, 00 (+)*/
    int tm_wday; /* dias desde el domingo, 0-6 */
    int tm_isdst;  /* indicador de horario de verano */
{; /*fin de la estructura -> cerrar llave:*/

(+) el elemento tm.tm_year contiene los años trascurridos desde el año 1900,
de tal forma que al algoritmo hay que sumarle 1900 para obtener el año en 4
digitos: por ejemplo 100+1900 = año 2000.

obtener la fecha y hora del sistema:
struct tm *Mi_Fecha;
char *Buffer_Datos_Fecha;
time_t Hora = time();
Mi_Fecha = localtime(&Hora);
/***
Se convierte el contenido de los datos de
la estructura tm en una cadena con la forma siguiente:
dia_semana mes día horas:minutos:segundos año n
****************************/
Buffer_Datos_Fecha = asctime(Mi_Fecha);

los buffer generados por asctime y por localtime son estaticos y se
modifican con cada llamada a las respectivas funciones, por lo tanto si se
quieren conservar se tienen que copiar en otro sitio.

las otras funciones ansi son :

clock_t clock(void)

      Esta función devuelve el numero de pulsos del reloj del sistema que han ocurrido desde que ha estado ejecutandose el programa que la llama.

     Para Obtener el Valor aproximado del tiempo EN SEGUNDOS, que tiene ejecutandose el programa que la llama el valor devuelto por esta función se debe dividir por la macro CLOCKS_PER_SEC


char *ctime(const time_t *Hora);
double difftime(time_t hora2, time_t hora1); /* diferencia en segundos */

    Estas son casi todas las funciones ANSI de las que dispoce el c para el
manejo de fechas y horas, el resto hay que construirlo a partir de ellas.

Como Podras observar el Tema no es sencillo. Por lo Menos si lo quieres manejarlo en forma estandar. Algunos Compiladores Ofrecen opciones más sencillas, pero al no ser estandares no son de mi interes.

Espero les sirva la información

Saludos

Bench

http://www.BenchSQL.com/