Página 1 de 1

Calculo logico de RTC.

MensagemEnviado: 03 Mar 2011 08:32
por fabim
Pessoal.
Estou com uma duvida aqui, e mais de lógica mesmo. Porem não estou encontrando a logica pra fazer o negocio funcionar.

No RTC dos NXP.
Temos.

RTC_SEC = segundo
RTC_MIN = minuto
RTC_HOUR = hora
RTC_DOM = dia do mes
RTC_DOW = dia da semana
RTC_DOY = dia do ano
RTC_MONTH = mes
RTC_YEAR = ano

Como é aquele calculo que se descobrindo se ano é ou não bissexto, e passando o ano mes e o dia do mes. Consegue-se descobrir a semana e o dia da semana.

Eu havia visto este procedimento uma vez. Pois meses são fixos de 30 e 31 dias e so fevereiro muda de 28 ou 29 dias nos bissextos.

elguém sabe como se ffaz isso , ou ja viu em algum lugar ?

MensagemEnviado: 03 Mar 2011 10:34
por Jorge_Francisco
Para o dia da semana fiz assim no C++ Buider :

Código: Selecionar todos
int A,B,C,D,E,F,Ano,Mes,Dia,Dia_Juliano;
AnsiString Dia_Semana[7]={"Segunda-feira","Terça-feira","Quarta-feira",
"Quinta-feira","Sexta-feira","Sábado","Domingo"};


Ano=StrToInt(Edit1->Text);
Mes=StrToInt(Edit2->Text);
Dia=StrToInt(Edit3->Text);

if(Mes < 3)
{
Ano=Ano-1;
Mes=Mes+12;
}



A=Ano/100;
B=A/4;
C = 2 - A + B;

//Já se a data for igual ou anterior a 4/10/1582 (fim do Calendário Juliano):
//C = 0

if(Dia <= 4 && Mes <= 10 && Ano <= 1582)
C=0;

D = 365.25 * (Ano + 4716);
E = 30.6001 * (Mes + 1);

Dia_Juliano = D + E + Dia + C - 1524;

Edit4->Text=Dia_Semana[Dia_Juliano%7];


MensagemEnviado: 07 Mar 2011 10:42
por barboza
Tudo mastigado.

utc_to_tod(time_t utc)


http://cvs.opensolaris.org/source/xref/ ... s/timers.c

MensagemEnviado: 07 Mar 2011 10:49
por barboza