Czy jest jakaś funkacja kóra zwraca liczbe dni w miesący lub jak to policzyc ile jest dni
O ile mi wiadomo to pomijając luty w latach przestępnych liczba dni w miesiącu się nie zmienia :D Więc po co funkcja? Weź kalendarz, stwórz sobie dwunastoelementową tablicę, pod indeksem 1 lub 0 - zależy czy Delphi czy C, trzymaj liczbę dni w styczniu etc. i już.
Nie wyważaj otwartych drzwi :)
n=30+((m-(m>7))&1)-((2-((y%4==0)&&((y%100)||(y%400==0))))*(m==2))
n=30+((m+(m>7))&1)-((2-((y%4==0)&&((y%100)||(y%400==0))))&&(m==2))
// +/- czy */&& bez znaczenia
Jesli piszesz w javie poczytaj o klasie Calendar.
Napisałem własną funkcje ;P
MOze to maly offtopic ale nie widze sensu tworzenia nowego tematu.
A czy jest jakas funkcja( albo raczej wzor :) ) na sprawdzenia jakim dniem tygodnia jest dany dzien miesiaca ??
pozdrawiam
Assassin.
MOze to maly offtopic ale nie widze sensu tworzenia nowego tematu.
A czy jest jakas funkcja( albo raczej wzor :) ) na sprawdzenia jakim dniem tygodnia jest dany dzien miesiaca ??
pozdrawiam
Assassin.
W BCB jest funkcja DayOfWeek: przykład z helpa:
char days[7][10] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
TDateTime dtDate = StrToDate(Edit1->Text);
ShowMessage(Edit1->Text + AnsiString(" is a ") + days[dtDate.DayOfWeek() - 1]);
W Edit1 podajesz datę w formacie DD-MM-YY
Powyższa funkcja jest waża dla kalendarza gregoriańskiego, który obowiązuje w Polsce od 4.X.1582. W dniu tym nastąpił skok kalendarzowy i po 4.10 nastąpił 15.10. Dla lat wcześniejszych rok przestępny jest ZAWSZE, gdy jest podzielny przez 4, a więc odpada człon z podzielnością przez 400.
Może to mieć znaczenie gdyby chcieć wyznaczać np. dzień tygodnia dla bitwy pod Grunwaldem albo przy innych kalendariach historycznych.