Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 13:02


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 17 kwi 2018, o 10:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

Witam Kolegów
Siedzę i wymyślam......
Chcę obliczyć kolejny dzień w roku. Zmienna potrzebna mi jest do pobrania odpowiedniego pliku z karty SD z imionami które obchodzą imieniny w danym dniu.
Wymyśliłem coś takiego
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

oczywiście nie uwzględniłem roku przestępnego ale to załatwię dodatkowym warunkiem.
W sumie działa, ale może macie inne sposoby...

pozdrawiam

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 11:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

tdate to struktura w której przechowuję rok, miesiąc i dzień odczytany z RTC

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 11:20 
Offline
Użytkownik

Dołączył(a): 15 gru 2012
Posty: 99
Pomógł: 0

można tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 11:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Nie wiem, czy o to chodzi, ale w poście następującym:
http://forum.atnel.pl/topic18625.html
w trzecim listingu obliczam numer kolejnego dnia w roku (oznaczonego zmienną "n")
na podstawie daty odczytanej z DS3231.
Pozdrawiam,
chi.cygni

PS. Przepis pochodzi stąd:
Almanac for Computers, 1990
published by Nautical Almanac Office
United States Naval Observatory
Washington, DC 20392

Znaleźć go można tutaj:
http://edwilliams.org/sunrise_sunset_algorithm.htm

A formuła jest prosta i uwzględnia wszystkie przypadki:
1. first calculate the day of the year
N1 = floor(275 * month / 9)
N2 = floor((month + 9) / 12)
N3 = (1 + floor((year - 4 * floor(year / 4) + 2) / 3))
N = N1 - (N2 * N3) + day - 30

Dodam od siebie, że jestem pod wrażeniem tych, którzy sami napisali swoje procedury i przedstawili je tutaj.

_________________
Ad augusta per angusta



Ostatnio edytowano 18 kwi 2018, o 09:44 przez chi.cygni, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 11:55 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

W jednym z poradników pokazywałem procedurę obliczania numeru dnia w roku ;) podałem gotowy kod.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 13:48 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 181
Lokalizacja: Kraków
Pomógł: 30

A ja sobie zrobiłem tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 20:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

No tak - ilu programistów tyle sposobów.
mirekk36 napisał(a):
W jednym z poradników pokazywałem procedurę obliczania numeru dnia w roku ;) podałem gotowy kod.

:( nie mogę znaleźć....

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 21:02 
Offline
Użytkownik

Dołączył(a): 15 gru 2013
Posty: 213
Pomógł: 5

Jest to w dawcy czasu o tutaj:

#0207 RTC - programowanie w C - part 02

Pozdrawiam ;) .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2018, o 21:40 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

janusz17 napisał(a):
No tak - ilu programistów tyle sposobów.

wyliczanie prawidłowego dnia tygodnia w tzw wiecznym kalendarzu to nie jest kwestia tylko lat przestępnych

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO