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 Gregoriana para Juliana


GregorianaJuliana(char *Data)
{
  char TabMeses[13];
  char str[3];
  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];
  dia = atoi(str);
  str[0] = Data[2];
  str[1] = Data[3];
  mes = atoi(str);
  str[0] = Data[4];
  str[1] = Data[5];
  ano = atoi(str); 
 
  if (ano % 4 == 0) TabMeses[1] = 29;  /* Fevereiro para ano bissexto  */
 
  for (i=0;i<mes-1;i++)
     dias = dias + TabMeses[i];
  dias = dias + dia;
  sprintf(Data," %02d%03d",ano,dias);
  return 0;
}
 
 
GregorianaJuliana1(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[2] = '\0'; /* Termina string               */
 
  str[0] = Data[0];
  str[1] = Data[1];
  dia = atoi(str);
  str[0] = Data[2];
  str[1] = Data[3];
  mes = atoi(str);
  str[0] = Data[4];
  str[1] = Data[5];
  str[2] = Data[6];
  str[3] = Data[7];
  str[4] = 0;
  ano = atoi(str); 
 
  if ((ano % 400 == 0)||((ano % 100 != 0)&&(ano % 4 == 0)))
     TabMeses[1] = 29;  /* Fevereiro para ano bissexto  */
 
  for (i=0;i<mes-1;i++)
     dias = dias + TabMeses[i];
  dias = dias + dia;
  sprintf(Data,"%04d%03d",ano,dias);
  return 0;
}