Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Przekształcenie minut na dni, godziny, minuty i sekundy
Forum PHP.pl > Forum > Przedszkole
peja1990
Witam,
mam napisany skrypt odpowiadający za zliczanie wartości zaznaczonych pól typu checkbox.
Działanie skryptu polega na zliczaniu wartości w/w pól w postaci cyfr oznaczających ilość adresów e-Mail w wybranej grupie (checkbox).
Mianowicie dla przykładu mam kilka grup mailingowych:
  1. <input type="checkbox" name="" value="" onClick="sumAddresses(\'5\',this)" />Motoryzacja
  2. <input type="checkbox" name="" value="" onClick="sumAddresses(\'694\',this)" />Produkcja i przemysł
  3. <input type="checkbox" name="" value="" onClick="sumAddresses(\'12\',this)" />Firmy budowlane
  4. <input type="checkbox" name="" value="" onClick="sumAddresses(\'512\',this)" />Firmy transportowe

Jako wartość funkcji sumAddresses (czyli : 5, 694, 12, 512) oznaczyłem ilość maili przypisanych do grupy.

Załóżmy, że zaznaczone zostają dwie pierwsze grupy, co daje wynik 699.

Trzeba wziąć też pod uwagę, że system wysyła 10 wiadomości co 5 minut czyli czas wysyłania jednej wiadomości (1 adres e-Mail) to 30 sekund.

Teraz mając już skrypt liczący dynamicznie zawartość adresów e-Mail w wybranych grupach chciałbym by obliczał czas wysyłania takiego mailingu.
Co prawda można w bardzo prosty sposób podać ilość minut potrzebną do wysłania wszystkich wiadomości (dla powyższego przykładu 699 / 2 co daje wynik 349,5 minuty), jednak ja chciałbym aby ten czas został podany w formie 5 godzin 49 minut 30 sekund), gdy czas będzie większy jak 24 godziny to podajemy też ilość dni, a gdy wystarczy tylko kilkanaście minut np. gdy wybrane grupy zawierają 49 maili to czas potrzebny do wysłania wszystkich wiadomości powinien zostać określony w takiej formie: 24 minuty 30 sekund).

Czy wie ktoś z Was jak napisać takie działania w moim skrypcie ?

Oto mój dotychczasowy skrypt:
  1. var sumAmount = 0;
  2. function sumAddresses(amount,object) {
  3. sumAmount = object.checked ? sumAmount + parseFloat(amount) : sumAmount - parseFloat(amount);
  4. var mins = sumAmount;
  5. document.getElementById('sumAmount').innerHTML = sumAmount;
  6. document.getElementById('timeForSend').innerHTML = (mins / 2) + "minuty";
  7. }



Serdecznie pozdrawiam,
Kamil Dunaj
melkorm
Np tu masz ładny przykład, musisz to zrobić analogicznie jak tam:
http://stackoverflow.com/questions/6312993...h-format-hhmmss

PS. Nie wysyłaj PM'ów, raczej bardziej ludzi odrzucasz niż zachęcasz.
peja1990
Cytat(melkorm @ 20.12.2011, 15:33:34 ) *
Np tu masz ładny przykład, musisz to zrobić analogicznie jak tam:
http://stackoverflow.com/questions/6312993...h-format-hhmmss

PS. Nie wysyłaj PM'ów, raczej bardziej ludzi odrzucasz niż zachęcasz.



O to chodziło, już sobie z tym poradziłem wink.gif Dzięki wielkie, leci pomógł smile.gif
Pozdrawiam biggrin.gif

________________________________
PS. a wiecie może jak do daty zapisanej w formie time(); dodać czas wygenerowany przez skrypt ? Np. w postaci sekund ?
Np. mamy datę w formie time(); 1318331204 i chcę do niej dodać wartość w sekundach 720, czy wystarczy po prostu zsumować te dwie liczby (1318331204 + 720 = 1318331924) ?

________________________________
Już sobie to sprawdziłem ;P Więc wiem, że wystarczy zsumować te dwie liczby tongue.gif
Jeszcze raz dzięki za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.