|
SWiSH Forum
Forum użytkowników programów SWiSH
|
Zliczanie dni |
Autor |
Wiadomość |
roland
Site Admin Roland Zimek
Wersja SWiSH: Max4
Pomógł: 31 razy Wiek: 57 Dołączył: 21 Sty 2005 Posty: 424 Skąd: Opole
|
Wysłany: Pon 25 Kwi, 2005 07:06 Zliczanie dni
|
|
|
Jeden z postów dotyczących obliczania różnicy dni pomiędzy dwiema datami, zainspirował mnie do napisania skryptu umożliwiającego wyświetlenie dni, jakie pozostały do końca roku.
Skrypt pobiera datę z zegara systemowego.
Kod: | onLoad () {
// (c) 2004 Roland Zimek.
// Skrypt obliczający liczbę dni pozostałych do końca roku.
// Definicja zmiennej przechowującej obliczane na bieżąco dni.
suma=0;
// Definicja tablicy przechowującej liczbę dni w poszczególnych miesiącach.
DniWMiesiacu = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
// Deklaracja zmiennej przechowującej dzisiejszą datę.
data = new Date();
// Deklaracja zmiennych przechowyjących bieżący dzień, miesiąc i rok.
// Uwaga. Zmienna miesiąc jest o 1 mniejsza od rzeczywistej.
dzien = data.getDate();
miesiac = data.getMonth();
rok = data.getFullYear();
// Pętla zliczająca ile dni jest w poszczególnych miesiącach,
// począwszy od bieżącego do ostatniego.
for (i = miesiac; i <= 11 ; i++) {
suma+=DniWMiesiacu[i];
}
// Odjęcie liczby dni, które już w bieżącym miesiącu upłynęły.
suma -= dzien;
// Sprawdzenie czy bieżący rok jest przestępny i czy luty już upłynął.
// Jeżeli tak, to do obliczonej sumy dodawany jest 1 dzień.
if (((rok % 400) == 0) || ((rok % 4) == 0) && (rok % 100) <> 0) {
if (miesiac < 2) {
suma += 1;
}
}
// Wyświetlenie komunikatu w zmiennej IleDni
IleDniWynik="Do końca roku pozostało "+suma+" dni";
} |
Szczególne wyjaśnienie należy się chyba w przypadku obliczania roku przestępnego. Rokiem przestępnym jest rok, którego liczba dzieli się bez reszty przez 4. Jeżeli jednak dzieli się bez reszty przez 100 to nie jest rokiem przestępnym, z wyjątkiem, gdy dzieli się bez reszty przez 400. Ostatnio takim rokiem podlegającym wszystkim regułom był rok 2000.
Mam nadzieję, że nigdzie nie popełniłem błędu.
IleDni.zip Obliczanie liczby dni pozostałych do końca roku. |
Pobierz Plik ściągnięto 1230 raz(y) 13.88 KB |
|
|
|
|
|
Piotr
Ekspert
Pomógł: 19 razy Dołączył: 28 Sty 2005 Posty: 252
|
Wysłany: Wto 26 Kwi, 2005 19:56
|
|
|
Nie popełniłeś błędu...
... zawsze mówiłem że jesteś WIELKI
A teraz pytanie - gdzie można ustawić datę do odliczania (inną niż końcówka roku 2005 - np. 12.09.2006) ?
Pozdrawiam - Piotr |
|
|
|
|
neo92
Początkujący
Wiek: 31 Dołączył: 09 Maj 2007 Posty: 8 Skąd: Przemyśl
|
|
|
|
|
roland
Site Admin Roland Zimek
Wersja SWiSH: Max4
Pomógł: 31 razy Wiek: 57 Dołączył: 21 Sty 2005 Posty: 424 Skąd: Opole
|
Wysłany: Nie 13 Maj, 2007 07:49
|
|
|
Ten skrypt oblicza zawsze do końca obecnego roku.
Ale do obliczania ilości dni pomiedzy dowolnymi datami służy skrypt, który już od dawna jest na forum:
http://swish.wodip.opole....topic.php?t=421 |
|
|
|
|
attim
Praktyk
Dołączył: 07 Sie 2007 Posty: 24 Skąd: Warszawa
|
Wysłany: Wto 07 Sie, 2007 12:16
|
|
|
roland napisał/a: | Jeden z postów dotyczących obliczania różnicy dni pomiędzy dwiema datami, zainspirował mnie do napisania skryptu umożliwiającego wyświetlenie dni, jakie pozostały do końca roku. |
no dobrze, a jak zrobić odliczanie od konkretnej, podanej prze ze mnie daty
np. swieto trzeci maja - zostało "24" dni |
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|
|
|
|
|
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
| Strona wygenerowana w 0.08 sekundy. Zapytań do SQL: 11 |
|
|