triathlon-szene.de |  Europas aktivstes Triathlon  Forum

triathlon-szene.de | Europas aktivstes Triathlon Forum (https://www.triathlon-szene.de/forum/index.php)
-   Sonstiges (https://www.triathlon-szene.de/forum/forumdisplay.php?f=32)
-   -   VDOT Javascript Problem mit getHours() (https://www.triathlon-szene.de/forum/showthread.php?t=31809)

TheRunningNerd 27.02.2014 14:14

VDOT Javascript Problem mit getHours()
 
Moin,

habe gerade keine Lust mich in einem Javascript Forum anzumelden, bestimmt weiss jemand hier auch Bescheid.

Will mir in Google Docs eine Function für VDOT erstellen. Geht auch alles, bis auf ein Problem: die Funktion getHours() vom Date Objekt liefert falsche Werte. Wenn ich 00:00:00 als Zeitformat übergebe liefert getHours() 9. Warum, wieso, was mach' ich falsch?

Hier der vollständige Code... (erwartet strecke in Metern und Zeit im Format hh:mm:ss)

Zitat:

function vdot(strecke, zeit_date) {
var zeit = dateToMinutes(zeit_date);
var tempo = strecke/zeit;
var vd = -4.6 + 0.182258*tempo + 0.000104*tempo*tempo;
var vdfrc = 0.8 + 0.1894393 * Math.exp (-0.012778*zeit) + 0.2989558 * Math.exp (-0.1932605*zeit);
return vd/vdfrc;
}

function dateToMinutes(s) {
var d = new Date(s);
var result = d.getHours()*60+d.getMinutes()+d.getSeconds()/60;
return result;
}

leiti 27.02.2014 14:57

Also wenn ich das so eingebe

Zitat:

<script>
dateToMinutes("Thu Feb 27 2014 00:00:00");

function dateToMinutes(s) {
var d = new Date(s);
var result = d.getHours()*60+d.getMinutes()+d.getSeconds()/60;
alert(result);
return result;
}
</script>
dann gibt die funktion eigentlich "0" zurück

TheRunningNerd 28.02.2014 09:37

Ja, mit Datum geht's, aber nicht mir nem reinen Zeit Wert. Naja ich habe das jetzt so umgebaut das ich die Zeit als String entgegennehme und splitte, geht auch.

Edith hat mir grad beigebracht, so geht's auch: var d = new Date("January 1, 1970 "+s);

Fall gelöst.


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:43 Uhr.

Powered by vBulletin Version 3.6.1 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.