• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Überprüfung Uhrzeit in Case Anweisung

Heavy-Dee

Mitglied
Hallo zusammen,
ist es möglich eine Uhrzeit (Std:Min) in einer Switch/Case-Anweisung zu überprüfen?

Ich habe es nur mit den Stundenwerten wie folgt gemacht.

PHP:
$zeit = date("H",$_Startzeit);

  switch($zeit)
    {
    case (($zeit >= 0) && ($zeit <= 6)):
    $var = "Block 1";
    break;

    case (($zeit > 6) && ($zeit <= 12)):
    $var = "Block 2";
    break;

    case (($zeit) && ($zeit <= 16)):
    $var = "Block 3";
    break;

    case (($zeit) && ($zeit <= 20)):
    $var = "Block 4";
    break;
 
    case (($zeit > 20) && ($zeit <= 23)):
    $var = "Block 5";
    break;
    }

aber ich möchte die ganze $_Startzeit überprüfen.
Also in etwa so wie folgend.

PHP:
switch($_Startzeit)
    {
    case ( 00:00:00 - 06:00:00 ):
    $var = "Block 1";
    break;

    case (06:00:01 - 12:00:00):
    $var = "Block 2";
    break;

    case (12:00:01 - 16:00:00):
    $var = "Block 3";
    break;

    ...
    }

Ist so was machbar ?
 
Werbung:
Ich würde bei der ersten Variante bleiben und diese etwas abändern wie folgt:

PHP:
$zeit = date("H",$_Startzeit);
  switch($zeit)
    {
    case (($zeit >= 0) && ($zeit < 6)):
    $var = "Block 1";
    break;
    case (($zeit >= 6) && ($zeit < 12)):
    $var = "Block 2";
    break;
    case (($zeit >= 12) && ($zeit < 16)):
    $var = "Block 3";
    break;
    case (($zeit >=16 ) && ($zeit < 20)):
    $var = "Block 4";
    break;
    case (($zeit >= 20) && ($zeit < 0)):
    $var = "Block 5";
    break;
    }
 
Werbung:
Ich würde bei der ersten Variante bleiben und diese etwas abändern wie folgt:

PHP:
$zeit = date("H",$_Startzeit);
  switch($zeit)
    {
    case (($zeit >= 0) && ($zeit < 6)):
    $var = "Block 1";
    break;
    case (($zeit >= 6) && ($zeit < 12)):
    $var = "Block 2";
    break;
    case (($zeit >= 12) && ($zeit < 16)):
    $var = "Block 3";
    break;
    case (($zeit >=16 ) && ($zeit < 20)):
    $var = "Block 4";
    break;
    case (($zeit >= 20) && ($zeit < 0)):
    $var = "Block 5";
    break;
    }


Ich weiß, das wurde schon im anderen Forum geklärt, aber das erste case wird nicht stattfinden wenn $zeit = 0 ist.
Die können wohl nicht mit der 0 umgehen. Hatte das Problem schonmal und da springt der gleich in den zweiten Block.

Warum das so ist, kann ich nicht erklären :D
 
Zurück
Oben