Ergebnis 1 bis 6 von 6
Like Tree3Likes
  • 1 Post By paul schmitz
  • 1 Post By ritter1st
  • 1 Post By paul schmitz

Thema: Stunden + Minutenangabe im Javascript

  1. #1
    ritter1st ist offline Grünschnabel
    registriert
    23-03-2017
    Beiträge
    3

    Stunden + Minutenangabe im Javascript

    Hallo Community ,
    bisher habe ich "nur" Websites erstellt - ohne irgendwelche scripts ... oder höchstens fertige eingebaut. Jetzt habe ich mich entschlossen, mich mal mit javascript zu befassen.
    Ich habe mal für den Anfang ein kleines script in eine Testseite eingebaut:

    HTML-Code:
    function stil() {
    	if(new Date().getHours() < 12) {
    		document.write(
    		'<link rel="stylesheet" href="lib/css/stile1.css" type="text/css">');
    	} 
    	else {
    		document.write(
    		'<link rel="stylesheet" href="lib/css/stile2.css" type="text/css">');
    	}
    }
    welches soweit auch funktioniert ...
    Die Testseite verändert nach 12 Uhr ihr Aussehen. Ich hab ein bisschen rumprobiert, komme aber auf keine Lösung, wenn ich z.B. die Änderungen um 12.30 Uhr haben möchte.
    Wie wird das gemacht? Hab´s mit einer Variablen für die Minuten probiert, funktioniert aber alles nicht. Kann jemand helfen?
    Vielen Dank, Gruß Tom
    Geändert von mikdoe (23-03-2017 um 15:03 Uhr) Grund: code tags

  2. #2
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.252

    AW: Stunden + Minutenangabe im Javascript

    Was hast du denn rumprobiert?

  3. #3
    paul schmitz ist offline Doppel-As
    registriert
    29-03-2015
    Beiträge
    134

    AW: Stunden + Minutenangabe im Javascript

    1. Code Tags (Formatiere deinen Fragepost, indem du [ CODE ] und [/ CODE ] um deinen Codeblock herumsetzt, damit er so formatiert wird wie in meiner Antwort sichtbar)
    2.
    12:30 Uhr und später ist:
    - Stundenzahl größer oder gleich 12
    - Minutenzahl größer oder gleich 30, wenn Stundenzahl gleich 12
    Das alles muss in die if.
    Code:
    if(new Date().getHours() >11 && new Date().getHours() > 12 || new Date().getMinutes() > 29)
    Zur Verständlichkeit kann man das ganze so schreiben: (Eingerücktes gehört jeweils zusammen)
    Code:
    if(
      new Date().getHours() >11 && // Mindestens 12 Stunden
        new Date().getHours() > 12 || // Mehr als 12 Stunden: Minuten egal
        new Date().getMinutes() > 29 // Nicht mehr als 12 Stunden, aber mehr als 11: Mindestens 30 Minuten
    )
    3.: document.write(); sollte in diesem Fall vermieden werden. Da sich nur der Wert eines Attributes des <style>-Tags ändert, kannst du einfach den frühen Style-Link direkt im HTML haben, und in Javascript nach erfolgter Prüfung einfach ändern. Falls du noch nicht weißt, wie man das macht, schau dir document.getElementsByClassName und diesen Stackoverflow-Beitrag an.
    Geändert von paul schmitz (23-03-2017 um 14:09 Uhr) Grund: Hinzufügen von 3.
    ritter1st likes this.
    Rubiks!
    Wer Rechtschreibfehler findet, darf sie behalten (und wegen mir auch aufessen)

  4. #4
    ritter1st ist offline Grünschnabel
    registriert
    23-03-2017
    Beiträge
    3

    AW: Stunden + Minutenangabe im Javascript

    Hallo paul schmitz,
    vielen Dank für die Hilfe :-). Ich werde das mal einbauen und die Tage testen, bin gespannt, ob es funktioniert.
    Wie schon geschrieben, hab ich von der Materie noch so gut wie keine Ahnung - finde sie aber sehr interessant.
    Ich melde mich nächste Woche nochmal dazu.
    Danke nochmal !
    paul schmitz likes this.

  5. #5
    ritter1st ist offline Grünschnabel
    registriert
    23-03-2017
    Beiträge
    3

    AW: Stunden + Minutenangabe im Javascript

    Hallo paul schmitz,
    wie geschrieben, hier mal eine Meldung zum script von dir.
    Es funktioniert bis 12.30 Uhr - danach schaltet es alle 30 Minuten hin und her, das sollte so nicht sein.
    Ich hab das jetzt so gemacht:

    HTML-Code:
    var DatumZeit = new Date()
    var StdAktuell = DatumZeit.getHours()
    var MinAktuell = DatumZeit.getMinutes();
    
    MinZwei  = MinAktuell < 10 ? "0" + MinAktuell : "" + MinAktuell;
    StdZwei  = StdAktuell < 10 ? "0" + StdAktuell : "" + StdAktuell;
    
    function stil() {
    	
        if (StdAktuell + MinZwei >= 730 && StdAktuell + MinZwei < 2130) 
    	{                                                               
    		document.write(                                          
    		'<link rel="stylesheet" href="lib/css/dynamische_stile1.css" type="text/css">');
    	} 
    	else {
    		document.write(
    		'<link rel="stylesheet" href="lib/css/dynamische_stile2.css" type="text/css">');
    	}
    }
    Ist zugegebenermaßen nicht allein auf meinem Mist gewachsen ..., aber es funktioniert.
    Jetzt wird das erste Design von 7.30 bis 21.30 und das andere von 21.30 bis 7.30 angezeigt.
    Vielleicht ist es ja auch eine Anregung und Hilfe für andere :-)
    Wenn ich das richtig verstehe, ist die "0" in der Zeitangabe wichtig, weil sonst z.B. die 5 höher "bewertet" wird als 15 bei den Minuten (?) ( 5 > 15, 05 < 15 ) Kann dazu jemand was sagen?
    Geändert von mikdoe (29-03-2017 um 18:26 Uhr) Grund: code tags

  6. #6
    paul schmitz ist offline Doppel-As
    registriert
    29-03-2015
    Beiträge
    134

    AW: Stunden + Minutenangabe im Javascript

    Da habe ich einen Fehler gemacht. Das Script muss so aussehen:
    Code:
    if(
      new Date().getHours() >11 && // Mindestens 12 Stunden
      (
        new Date().getHours() > 12 || // Mehr als 12 Stunden: Minuten egal
        new Date().getMinutes() > 29 // Nicht mehr als 12 Stunden, aber mehr als 11: Mindestens 30 Minuten
      )
    )
    Zu deiner Frage:
    Stell dir vor, es ist 13:04 Uhr, und die 0 wird nicht dazugefügt.
    Dann steht da:
    Code:
    if("13"+"4">=730&&"13"+"4"<2130)
    if("134">=730&&"134"<2130)
    if(134>=730&&134<2130)
    if(false&&true)
    if(false)
    Also ist 13:04 nicht in deinem gewünschten Bereich (laut Script). Mit der Null funktioniert es:
    Code:
    if("13"+"04">=730&&"13"+"04"<2130)
    if("1304">=730&&"1304"<2130)
    if(1304>=730&&1304<2130)
    if(true&&true)
    if(true)
    Geändert von paul schmitz (29-03-2017 um 16:19 Uhr) Grund: Fehlerkorrektur
    ritter1st likes this.
    Rubiks!
    Wer Rechtschreibfehler findet, darf sie behalten (und wegen mir auch aufessen)

Ähnliche Themen

  1. [FRAGE] Timestamp Javascript minus 2 Stunden?
    Von ruhrpottler im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 18-05-2016, 17:38
  2. Antworten: 0
    Letzter Beitrag: 25-01-2016, 19:50
  3. Tage in Stunden
    Von Programmer im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 25-01-2006, 21:15
  4. 24-Stunden Countdown [PHP]
    Von Julien im Forum Serverseitige Programmierung
    Antworten: 2
    Letzter Beitrag: 23-03-2003, 13:47
  5. sysdate minus 3 stunden
    Von TB im Forum Serverseitige Programmierung
    Antworten: 2
    Letzter Beitrag: 07-02-2001, 13:29

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •