Kai345: Problem bei Uhrzeit mit Nullen auffüllen

Beitrag lesen

[latex]Mae  govannen![/latex]

Hallo,

ich habe folgende Funktion

function createStartTime(){
var input = document.getElementById('Uhrzeit').value;
var timesplit = input.split(":");
var hour = timesplit[0];
var minute = timesplit[1];
var time = new Date();
time.setHours(hour-1);
hour = time.getHours();
if (hour.length<2) { hour = "0" + hour }
if (minute.length<2) { minute = "0" + minute }
document.form.startTime.value = hour + ":" + minute;
}


>   
> Mit dieser will ich eine Stunde einer eingegebenen Uhrzeit abziehen und das Ergebnis in einem anderen Feld ausgeben.  
> Zusätzlich soll bei einer Eingabe in Form von 3:3 die fehlenden Nullen hinzugefügt werden, damit am Ende 03:03 ausgegeben wird.  
>   
> Die Minuten Ausgabe funktioniert wie gewollt und setzt automatisch eine Null davor. Nur bei der Ausgabe der Stunde passiert dies nicht. Bei Eingabe von z.B. 4:4 wird 3:04 (ohne die Null vor der 3), bei 05:10 wird 4:10 ausgeben usw.  
>   
> Woran liegt das, mit if (hour.length<2) { hour = "0" + hour } müsste das doch gesetzt werden.  

.  
  
Füge mal Alerts ein:  
~~~javascript
function createStartTime(){  
  var input = document.getElementById('Uhrzeit').value;  
  var timesplit = input.split(":");  
  var hour = timesplit[0];  
  var minute = timesplit[1];  
  var time = new Date();  
  alert("#"+hour+"#"+typeof hour+"#"+hour.length+"#");  
  time.setHours(hour-1);  
  hour = time.getHours();  
  alert("#"+hour+"#"+typeof hour+"#"+hour.length+"#");  
  if (hour.length<2) { hour = "0" + hour }  
  if (minute.length<2) { minute = "0" + minute }  
  document.form.startTime.value = hour + ":" + minute;  
}

und beachte den Typ im zweiten Alert. diesem Typ ist  die Eigenschaft length nicht bekannt.
benutze also z.B. hour = time.getHours().toString();

Cü,

Kai

--
Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?