• Viernes 15 de Noviembre de 2024, 06:58

Autor Tema:  Capturar La Hora Del Sistema  (Leído 3965 veces)

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Capturar La Hora Del Sistema
« en: Viernes 10 de Junio de 2005, 08:18 »
0
Hola compañeros del foro! necesito de una funcion en Cpara capturar la hora del sistema, necesito capturar principalmente los mibnutos, segundos, centecimas, milecimas y nanonesimas de segundo de ser posible.

como siempre, les doy mi agradecimiento de antemano.

pitukilloloco

  • Miembro MUY activo
  • ***
  • Mensajes: 104
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #1 en: Sábado 11 de Junio de 2005, 01:46 »
0
Aquí está una forma sencilla para capturar la fecha y las horas, minutos y segundos
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <stdlib.h>
  5.  
  6. int main ()
  7. {
  8.   time_t ltime;
  9.   char semana[4], mes[4];
  10.   int dia, hora, minutos, segundos, agno;
  11.     time (&ltime);
  12.     printf( "Fecha y hora: %s", ctime (&ltime));
  13.   sscanf (ctime (&ltime), "%s %s %d %d:%d:%d %d", semana, mes, &dia, &hora, &minutos, &segundos, &agno);
  14.     printf( "Fecha y hora: %s %s %d %d:%d:%d %d\n", semana, mes, dia, hora, minutos, segundos, agno);
  15.   system ("pause");
  16.   return EXIT_SUCCESS;
  17. }
  18.  
  19.  
otra forma de hacerlo
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <sys/timeb.h>
  5. #include <time.h>
  6.  
  7. int main( void )
  8. {
  9.    struct _timeb timebuffer;
  10.    char *timeline;
  11.  
  12.    _ftime( &timebuffer );
  13.    timeline = ctime( & ( timebuffer.time ) );
  14.  
  15.    printf( "The time is %.19s.%hu %s", timeline, timebuffer.millitm, &timeline[20] );
  16.    
  17.    system ("pause");
  18.    return EXIT_SUCCESS;
  19. }
  20.  
  21.  

sruby

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #2 en: Sábado 2 de Julio de 2005, 22:05 »
0
Hola.. aqui tienes otra forma de capturar la hora del sistema mediante la interupcion 21/2C.

Asi puedes capturar la hora, minutos, segundos y centesimas

Código: Text
  1.  
  2. #include<stdio.h>
  3. #include<stdio.h>
  4. #include<dos.h>
  5. #include<conio.h>
  6. main(){
  7. union REGS ent, sal&#59;
  8. ent.h.ah = 0x2C&#59;
  9.  
  10. clrscr();
  11. while(1){
  12. gotoxy(2,3);
  13. int86(0x21,&ent,&sal);
  14. printf ("%d : %d : %d : %d",sal.h.ch, sal.h.cl, sal.h.dh, sal.h.dl)&#59;
  15. sleep(1);
  16. }
  17. getch();
  18. }
  19.  
  20.  

Ojala te sirva.
Saludos

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #3 en: Sábado 2 de Julio de 2005, 22:15 »
0
Esta muy bien pero eso solo funciona en MS-DOS, para Windows tambien se puede usar GetLocalTime.  :whistling:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

sruby

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #4 en: Sábado 2 de Julio de 2005, 23:30 »
0
Tienes toda la razon.. la postie sin saber si era para DOS, Win.. Linux, lo que sea.
Pero claro, solo funciona en DOS

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #5 en: Sábado 2 de Julio de 2005, 23:40 »
0
Cita de: "sruby"
Tienes toda la razon.. la postie sin saber si era para DOS, Win.. Linux, lo que sea.
Pero claro, solo funciona en DOS
No esta especificado, bueno en realidad dice C por eso supongo que hay que usar las funciones standard como las que nombro pitukilloloco.

 :hola:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

DDCA

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #6 en: Domingo 3 de Julio de 2005, 18:12 »
0
Aprovecho este post, para preguntar, si deseo saber en cuantos milisegundos se ejecuta una función, que debo usar ?  :blink: hay alguna función que te puede dar eso o debo hacer la diferencia entre el tiempo inicial y e final, estoy desesperado échenme una mano por favor

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #7 en: Domingo 3 de Julio de 2005, 18:27 »
0
Cita de: "DDCA"
Aprovecho este post, para preguntar, si deseo saber en cuantos milisegundos se ejecuta una función, que debo usar ?  :blink: hay alguna función que te puede dar eso o debo hacer la diferencia entre el tiempo inicial y e final, estoy desesperado échenme una mano por favor
Podes usar la funcion clock del archivo time.h, en Windows podes usar GetTickCount.  :smartass:

PD. No deberias usar este post sino crear otro.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

DDCA

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #8 en: Domingo 3 de Julio de 2005, 18:41 »
0
Lo siento  :P  gracias por la rápida respuesta  :D

sruby

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Capturar La Hora Del Sistema
« Respuesta #9 en: Miércoles 6 de Julio de 2005, 01:41 »
0
DDCA..

Si quieres un ejemplo de como capturar el tiempo que se ejecuto cierta cantidad de instrucciones.

Código: Text
  1.  
  2. #include <stdio.d>
  3. #include <time.h>
  4.  
  5. main( )
  6. {
  7. long start, stop&#59;
  8.  
  9. start = clock( )&#59;  /* se toma el tiempo de inicio */
  10. sound(1000)&#59;    /* activa un beep de 1000 Hz */
  11. delay(600)&#59;    /* pausa de  600 mS. */
  12. nosound( )&#59;    /* se desactiva el beep */
  13.  
  14. sound(500)&#59;    /* activa un beep de 500 Hz */
  15. sleep(2)&#59;    /* pausa de  2 segundos */
  16. nosound( )&#59;
  17. stop = clock( )&#59;  /* se toma el tiempo final */
  18. printf(“Se ejecuto en %f segundos “,(stop-start) /CLK_TCK)&#59;
  19. }
  20.  
  21.  
  22.  

No olvides dividir el resultado de fin - inicio por la constante CLK_TCK para transformarlo a segundos.

Saludos