Neste site voce vai encontrar tutoriais de software livre e tambem alguns para Windows, sistema de controles de frequência e usuários desenvolvidos em PHP e MySQL, diversão, muita coisa sobre pescarias com albuns de fotos e também as viagens que pude registrar até agora.

Especialista em Tecnologia da Informação

Funções em C ANSI

Converte data Juliana para Gregoriana


JulianaGregoriana(char *Data)
{
  char TabMeses[13];
  char str[4];
  int  dia, mes, ano, i, dias = 0;
 
  TabMeses[0] = TabMeses[2] = TabMeses[4] = TabMeses[6] =
  TabMeses[7] = TabMeses[9] = TabMeses[11] = 31;
  TabMeses[3] = TabMeses[5] = TabMeses[8] = TabMeses[10] = 30;
  TabMeses[1] = 28;             /* Fevereiro nao bissexto       */
  TabMeses[12] = str[2] = '\0'; /* Termina string               */
 
  str[0] = Data[0];
  str[1] = Data[1];
  ano = atoi(str);
  str[0] = Data[2];
  str[1] = Data[3];
  str[2] = Data[4];
  str[3] = '\0';
  dias = atoi(str);
 
  if (ano % 4 == 0) TabMeses[1] = 29;  /* Fevereiro para ano bissexto  */
 
  mes = 0;
  for (i=0;i<dias;i+=TabMeses[mes++]);
  dia = dias - (i -  TabMeses[mes-1]);
  if(!dia) dia = dia * -1;
  sprintf(Data,"%02d/%02d/%02d",dia,mes,ano);
 
  return 0;
}
 
JulianaGregoriana1(char *Data)
{
  char TabMeses[13];
  char str[5];
  int  dia, mes, ano, i, dias = 0;
 
  TabMeses[0] = TabMeses[2] = TabMeses[4] = TabMeses[6] =
  TabMeses[7] = TabMeses[9] = TabMeses[11] = 31;
  TabMeses[3] = TabMeses[5] = TabMeses[8] = TabMeses[10] = 30;
  TabMeses[1] = 28;             /* Fevereiro nao bissexto       */
  TabMeses[12] = str[4] = '\0'; /* Termina string               */
 
  str[0] = Data[0];
  str[1] = Data[1];
  str[2] = Data[2];
  str[3] = Data[3];
  ano = atoi(str);
  str[0] = Data[4];
  str[1] = Data[5];
  str[2] = Data[6];
  str[3] = '\0';
  dias = atoi(str);
 
  if ((ano % 400 == 0)||((ano % 100 != 0)&&(ano % 4 == 0)))
     TabMeses[1] = 29;  /* Fevereiro para ano bissexto  */
 
  mes = 0;
  for (i=0;i<dias;i+=TabMeses[mes++]);
  dia = dias - (i -  TabMeses[mes-1]);
  if(!dia) dia = dia * -1;
  sprintf(Data,"%02d/%02d/%04d",dia,mes,ano);
 
  return 0;
}