Como muestro la fecha del sistema y en español? Imprimir
Escrito por adrianvaca   
Martes, 22 de Marzo de 2011 22:57
1. Este imprime la fecha (dia/mes/año), ej: La fecha actual es: 20/2/2004

#include<stdio.h>
#include<conio.h>
#include<dos.h>

void main()
{

struct date d;
getdate(&d);
printf("La fecha actual es: %d/%d/%d", d.da_day, d.da_mon, d.da_year);

getch();
}




2. Este imprime la fecha completa, ej: El tiempo local es: Fri Feb 20 09:31:54 2004

#include<stdio.h>
#include<conio.h>
#include<time.h>

void main()
{
time_t timer;
struct tm *tblock;

/* coge el tiempo actual */
timer = time(NULL);
/* convierte el dato del tiempo a una estructura */
tblock = localtime(&timer);
printf("El tiempo local es: %s", asctime(tblock));

getch();
}




3. Puedes usar el siguiente programita, el cual usa la función fechaFormateada para imprimir la fecha actual en español, ej: Martes, 10 de Enero del 2006

#include<conio.h>
#include<dos.h>    /* para el uso de getdate" y "gettime" */
#include<stdio.h>

char *fechaFormateada();
char *dias(int numerodia);
char *meses(int numeromes);

void main()
{
   printf("%s", fechaFormateada());
   getch();
}

char *fechaFormateada()
{
   struct date d;
   struct dosdate_t diadelasemana;
   int dia,mes,year,numerodia;
   char fecha[50];
   char *textomes;
   char *textodia;

   getdate(&d); /* obtiene el tiempo del sistema */
   dia=d.da_day;   mes=d.da_mon;   year=d.da_year;
   _dos_getdate(&diadelasemana);  /* obtiene el numero del dia de la semana (Domingo==0) */             

   numerodia=diadelasemana.dayofweek;  /* el numero del dia de la semana */

   textodia=dias(numerodia);
   textomes=meses(mes);

   sprintf(fecha,"%s, %d de %s del %d",textodia,dia,textomes,year);

   return fecha;
}

char *meses(int numeromes)
{
   char *mes;

   switch(numeromes)
   {     
      case 1:    mes="enero";      break;
      case 2:    mes="febrero";      break;
      case 3:    mes="marzo";      break;
      case 4:    mes="abril";      break;
      case 5:    mes="mayo";      break;
      case 6:    mes="junio";      break;
      case 7:    mes="julio";      break;
      case 8:    mes="agosto";      break;
      case 9:    mes="septiembre";  break;
      case 10:   mes="octubre";      break;
      case 11:   mes="noviembre";  break;
      case 12:   mes="diciembre";  break;
   }
   return mes;
}

char *dias(int numerodia)
{     
   char *dia;

   switch(numerodia)
   {     
      case 0:   dia="Domingo";    break;
      case 1:   dia="Lunes";     break;
      case 2:   dia="Martes";    break;
      case 3:   dia="Miercoles"; break;
      case 4:   dia="Jueves";    break;
      case 5:   dia="Viernes";    break;
      case 6:   dia="Sabado";    break;
    }
    return dia;
}


Si quieres más ejemplos consulta la ayuda del Turbo C, en concreto la biblioteca: "time.h" y/o las funciones: getdate() y gettime()
Última actualización el Martes, 22 de Marzo de 2011 23:24
 
Otros artículos