Wydobywanie ilości minut, godzin.. z obiektu Date

0

Mam kod:

data_nowosci_na_stronie = new Date(...).getTime();

I teraz chciałbym z niego wyciągnąć ile to sekund, dni, godzin itd. (tzn. np. "Ostatnia aktualizacja miała miejsce 2 lata, 20 minut i 13 sekund temu").

Jedyne co przychodzi mi do głowy to dzielenie tego wszystkiego (najpierw przez 1000 do sekund, potem przez 60 do minut itd.) i zapisywania wartosci poszczególnych jednostek czasu z dzielenia modulo.

Czy znacie może jakis lepszy sposób na osiągnięcie tego celu?

0

Ja myślę że liczenie tego z dokładnością do sekundy jest bez sensu, bo i rok ma nierówną ilość dni, i miesiąc ma nierówną ilość dni, i doba ma nierówną ilość sekund.

0

Załóżmy że dla Klienta sens istnieje. Jak to zrobić?

0

Sugerowałbym zacząć od wpisania w Google: "calculating the difference between two dates in javascript" i zdziwienia się że mimo wszystko są ludzie którzy mieli już ten "problem" w przeszłości.

0

Wszystkie przykłady jakie znalazłem prowadzą do:
variable = czas_w_milisekundach / one_day_milisecs
Natomiast nie o takie coś mi chodzi

0

wroar.
http://psoug.org/snippet/Javascript-Calculate-time-difference-between-two-dates_116.htm
Specjalnie dla Ciebie poprawiłem parę wad:

function timeDifference(laterdate,earlierdate) {
    var difference = laterdate.getTime() - earlierdate.getTime();
 
    var daysDifference = Math.floor(difference/1000/60/60/24);
    difference -= daysDifference*1000*60*60*24
 
    var hoursDifference = Math.floor(difference/1000/60/60);
    difference -= hoursDifference*1000*60*60
 
    var minutesDifference = Math.floor(difference/1000/60);
    difference -= minutesDifference*1000*60
 
    var secondsDifference = Math.floor(difference/1000);
 
 document.write('difference = ' + daysDifference + ' day/s ' + hoursDifference + ' hour/s ' + minutesDifference + ' minute/s ' + secondsDifference + ' second/s ');
 }

Jeżeli natomiast marzy Ci się to uformowane w miesiące i lata to po prostu... podziel modulo przez ilość dni w roku, apotem rpzez ilość dni w kolejnych miesiącach tego co zostanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1