• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Javascript różnica dat

Object Storage Arubacloud
0 głosów
1,218 wizyt
pytanie zadane 10 lipca 2019 w JavaScript przez Mesne191 Początkujący (460 p.)

Cześć,

Potrzebuje skryptu, który obliczą mi różnice dat z dwóch pól i wstawia tą różnicę do etykiety. Na razie mam coś takiego

function datediff()
{
	var date1 = new Date('#d1').val() + " " + ('#t1').val()).getTime();
    var date2 = new Date('#d2').val() + " " + ('#t2').val()).getTime();
	var msec = date2 - date1;
    var mins = Math.floor(msec / 60000);
    var hrs = Math.floor(mins / 60);
    var days = Math.floor(hrs / 24);
    var yrs = Math.floor(days / 365);
	
	var wynik = days + "d, " + hrs + "g, " + mins + "m";
	
	document.getElementById("tt").innerHTML = wynik;
}

, ale nie wiem kompletnie czemu mi to nie działa, jeśli chodzi o JS jestem kompletnie zielony jakby co

Pozdrawiam

1 odpowiedź

+1 głos
odpowiedź 10 lipca 2019 przez pablop76 VIP (123,180 p.)
 var date1 = new Date('#d1').val() + " " + ('#t1').val()).getTime();

To jakaś pogańska konstrukcja. Nie możesz przekazać do obiektu Date całego inputa. Parametry są ściśle określone w dokumentacji obiektu Date

Pobierz najpierw wartość inputa a dopiero przekaż ją odpowiednio sformatowaną do obiektu Date. Jeżeli korzystasz  z inputa typu date to formatowanie masz z głowy.

komentarz 10 lipca 2019 przez Mesne191 Początkujący (460 p.)
Chodzi o to, że mam dwa inputy jeden jeden jest typu date, drugi time, i z tego musze miec roznice dokladnie w dniach, godzinach, minutach. A co do pogańskiej konstrukcji to mam nadzieje, że przeczytałeś ostanie zdanie :)
komentarz 10 lipca 2019 przez pablop76 VIP (123,180 p.)
Dlaczego różnica w dniach skoro zmieniasz tylko zakres  godzin?
komentarz 10 lipca 2019 przez Mesne191 Początkujący (460 p.)
Nie właśnie, chodzi o to, że zmieniam oba te inputy, inaczej mam wyjazd i przyjazd u musze policzyc czas trwania podrozy, i mam wyjazd date input i time input oraz przyjazd date input i time input i musze na podstawe tych 4 inputow wyliczyc roznice przyjazd - wyjazd, tylko pierwsza rzecz to nie wiem jak pobrac w ogole wartosc takiego inputa, nie wiem jak do konca mam polaczyc oba te inputy, bo chcialbym zrobic cos na zasadzie jak powyzej czyli mam tak, zeby dostac ta roznice w milisekundach, a pozniej juz sobie wylicze. Bylbym wdzieczny gdybys na prostym przykladzie pokazal mi chociaz jak pobrac ta wartosc z dwoch polaczonych inputow i wstawic ja do obiektu Date bo tak jak mowilem mam pisac skrypty w JS, a dzisiaj jest drugi dzien kiedy widze ja w ogole na oczy dlatego nie znam wielu funkcji i wlasnoci tego jezyka. Z gory dziekuje za pomoc :)
1
komentarz 10 lipca 2019 przez pablop76 VIP (123,180 p.)

Śledząc cały proces uzyskania daty z tych dwóch inputów to wygląda to tak:

<input type="date" id="inputDate" value="2019-07-10">
<input type="time" id="inputTime" value="12:15">
<div id="showTime"></div>
const inputDate = document.getElementById("inputDate");
const  date1 = new Date(inputDate.value);
const year = date1.getFullYear();
const month = date1.getMonth();
const day = date1.getDate();
const inputTime = document.getElementById("inputTime").value;
const date2 = inputTime.split(":");

const score = new Date(year,month,day,date2[0],date2[1])
document.getElementById("showTime").innerHTML = score;

Potem to samo z druga parą i zostaje odjęcie wyników od siebie  i sformatowanie.

komentarz 10 lipca 2019 przez Mesne191 Początkujący (460 p.)
Dzięki wielkie!

Podobne pytania

0 głosów
1 odpowiedź 316 wizyt
pytanie zadane 17 stycznia 2020 w JavaScript przez frostyuwu Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 134 wizyt
pytanie zadane 3 września 2017 w PHP przez mikoh81 Obywatel (1,260 p.)
0 głosów
1 odpowiedź 788 wizyt
pytanie zadane 14 czerwca 2015 w PHP przez emwu Użytkownik (540 p.)

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...