Różnica pomiędzy godzinami.

0

Witam,
Od pewnego czasu koduje( a przynajmniej staram się) kodować sobie w Jsie, ale teraz natrafiłem na pewien problem. Napisałem pewien program, ale niestety nie zwraca mi on poprawnych wartości, ze względu na to, że pokazuje różnice pomiędzy godzinami, minutami i sekundami (np. 1400 i 1500, to pokazuje, mi że różnica między tymi godzinami wynosi 1 godzinę, 59 minut i 0 sekund, zamiast 1 minuty :/), a gdy godziny są takie same to ma zwracać 0(to akurat chyba proste). Jak mogę to skorygować? Jestem osobą początkującą jeśli chodzi o tego typu rzeczy. Pozdrawiam!

function time (timer1, timer2) {
const splittimer1 = timer1.split(":");
const splittimer2 = timer2.split(":");



const hour1 = splittimer1[0];
const minute1 = splittimer1[1];
const second1 = splittimer1[2];

const hour2 = splittimer2[0];
const minute2 = splittimer2[1];
const second2 = splittimer2[2];



const hourDifference = hour1 - hour2;
const minutesDifference = minute1 - minute2;
const secondsDifference = second1 - second2;





// Różnica między godzinami, minutami i sekundami.

let fulltime = "";

if (timer1 === timer2) {
  return 0;
}


if (hourDifference < 0) {

  fulltime += `Różnica to ${hour2 - hour1} godzin(y),`;
}
else {

  fulltime += `Różnica to ${hourDifference} godzin(y)`;
}

if (minutesDifference < 0) {

  fulltime += ` ${minute2 - minute1} minut(y)`  
}

else {

  fulltime += ` ${minutesDifference} minut(y)`;
}

if (secondsDifference < 0) {
  
  fulltime += `, ${second2 - second1} sekund(y).`
}

else {

  fulltime +=  `, ${secondsDifference} sekund(y).`;
}

return fulltime;

}

console.log(time("1400","1500"));

0

Zawsze jak mowa o czasie w programowaniu, mi wracają dwie koncepcje (miary) czasu

  • jakby "astronomiczna" - czas by sobie biegł, nawet jakby nie istniał żaden człowiek
  • czas w cywilizacji ludzkiej - po północy / przed północą /inną granicą doby, przed erą / po erze, 12 miesięczny, księżycowy, z nowym rokiem liczony dnia X albo Y, whatever. Te miary są w kontekście kulturowym człowieka

Jak to przełożyć sobie na programowanie - bo świadomie nie dokończyłem opowieści - zostawiam na pracę domową

0

Mam jeszcze jedno pytanie - jak w najprostszy sposób sprawdzić, czy tablica np. const numbers = [17,43,55,122,55,7,3] zawiera więcej niż jeden taki sam element? (w tym przypadku to będzie liczba 55)

0
7crss7 napisał(a):

Mam jeszcze jedno pytanie - jak w najprostszy sposób sprawdzić, czy tablica np. const numbers = [17,43,55,122,55,7,3] zawiera więcej niż jeden taki sam element? (w tym przypadku to będzie liczba 55)

Posortować i sprawdzić pętla czy obok siebie są takie same liczby.

0

@7crss7: Możesz coś takiego zrobić np. :

function hasUnique(arr)
{
    let count = {};

    for(item of arr)
    {
        if(item in count)
            return false;
        else
            count[item] = 1;
    }

    return true;
}

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