javascript & Date & epoch

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

javascript & Date & epoch

Inlägg av Oltronix »

Varför är den sista utskriften av tiden inte en timme mer än den första första resp sista raden?
Sun Feb 28 2021 11:02:19 GMT+0100 (Central European Standard Time)
1614506539519
Sun Feb 28 2021 11:02:19 GMT+0100 (Central European Standard Time)
1614502939519
Sun Feb 28 2021 11:02:19 GMT+0100 (Central European Standard Time)

Kod: Markera allt

<!DOCTYPE html> 
<html lang="en"> 

<head> 
	<meta charset="UTF-8" /> 
	<meta name="viewport" path1tent= 
		"width=device-width, initial-scale=1.0"/> 
</head> 
<body> 
	<script>
         d=new Date();       
         document.write("<h3>" + d + "</h3>") 
         document.write("<h3>" + d.valueOf() + "</h3>")
         document.write("<h3>" + Date(d.valueOf()) + "</h3>")  
         const epoch=d.valueOf()+60*60*1000;
         console.log(epoch);
         document.write("<h3>" + epoch + "</h3>")  
         document.write("<h3>" + Date(epoch) + "</h3>");
	</script> 
</body> 
</html> 
agehall
Inlägg: 418
Blev medlem: 12 augusti 2020, 19:27:54

Re: javascript & Date & epoch

Inlägg av agehall »

Troligen för att du inte skapar ett nytt Date-objekt i sista utskriften utan anropar metoden Date().

Kolla i dokumentationen så ser du att funktionen returnerar nuvarande tid som en sträng.
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Re: javascript & Date & epoch

Inlägg av Oltronix »

"Date()" ger current date oavsätt argument.

Kod: Markera allt

document.write("<h3>", Date(0), "</h3>");
document.write("<h3>", Date(36000), "</h3>");
document.write("<h3>", Date(1614518412086), "</h3>");
Ger samma resultat, current date. Det man skall använda "new Date(epoch)" så fungerar det. Jag hittade ingen dokumentation om olikheterna dock, tyvärr.

Edit:
Det är lustigt att man inte nämner, i den dokumention jag läst, att man skall notera skillanden mellan "Date(d)" och "new Date(d)". Men det kanske en sidoffekt. Dett finns ju metoder Date.now(), Date.UTC(), Date.parse(). HTML och javscript känns ibland inte så syntaxisk strigent. Date() kanske betyder alltid samma sak som Date.now(). Jag höll på ganska länge igår kväll och jagade felet med Date() på helt fel ställe förståss. Hur Date() fungerade var helt , felaktigt, säker på hur det fungerade.
agehall
Inlägg: 418
Blev medlem: 12 augusti 2020, 19:27:54

Re: javascript & Date & epoch

Inlägg av agehall »

Det här är väl en effekt av att Javascript är något som hittades på av en snubbe som aldrig designat ett programspråk tidigare. Då får man en massa konstiga saker som gör det helt omöjligt att använda.

Gör dig själv en tjänst och titta på TypeScript så fort som möjligt så får du iallafall lite mer hjälp att hitta när du gjort enkla fel i koden.
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Re: javascript & Date & epoch

Inlägg av Oltronix »

Det här är väl en effekt av att Javascript är något som hittades på av en snubbe som aldrig designat ett programspråk tidigare.
-Det visste inte jag. Var har du läst det?

-Hur skulle TypeScript gå ihop med D3js och observable?
agehall
Inlägg: 418
Blev medlem: 12 augusti 2020, 19:27:54

Re: javascript & Date & epoch

Inlägg av agehall »

Se https://en.wikipedia.org/wiki/Brendan_Eich - killen är säkert bra på mycket, inklusive programmering, men att designa programspråk är en ganska speciell nisch som få är bra på.

TypeScript löser inte D3 av sig självt, men det tar bort en hel del dumheter som JS har för sig och ger dig ett mer koncistent språk att skriva kod i. När du sedan "kompilerar" koden så översätts den till javascript vilket gör att du fortfarande kan använda JS bibliotek om du vill. Ofta finns även typer för dessa vilket gör att de fungerar riktigt bra i TypeScript.
Skriv svar