2011-12-28 22 views
11

時刻に応じてページにコードやメッセージをエコーする必要があります。ただ、ウェルカムメッセージ、「良い夜」、または「良い午後」時刻に応じてコードを実行

ように私は、グループへの熱い一定の時間を知っていないとの1時00分00秒午後から

のように、各グループにメッセージを割り当てます午前4時00分00秒午後=「こんにちは」と4時00分01秒から8時00分〇​​〇秒に=「良い夜」

これまでのところ、私が持っている:

<?php 
date_default_timezone_set('Ireland/Dublin'); 
$date = date('h:i:s A', time()); 
if ($date < 05:00:00 AM){ 
echo 'good morning'; 
} 
?> 

をしかし、私は知りませんどのように時間の範囲をメッセージに伝えるか。

答えて

29
 

    <?php 
    /* This sets the $time variable to the current hour in the 24 hour clock format */ 
    $time = date("H"); 
    /* Set the $timezone variable to become the current timezone */ 
    $timezone = date("e"); 
    /* If the time is less than 1200 hours, show good morning */ 
    if ($time < "12") { 
     echo "Good morning"; 
    } else 
    /* If the time is grater than or equal to 1200 hours, but less than 1700 hours, so good afternoon */ 
    if ($time >= "12" && $time < "17") { 
     echo "Good afternoon"; 
    } else 
    /* Should the time be between or equal to 1700 and 1900 hours, show good evening */ 
    if ($time >= "17" && $time < "19") { 
     echo "Good evening"; 
    } else 
    /* Finally, show good night if the time is greater than or equal to 1900 hours */ 
    if ($time >= "19") { 
     echo "Good night"; 
    } 
    ?> 
 
+0

$ timezone変数の目的は何ですか?それは初期化の下のコードでは使用されていません;) –

9
$hour = date('H', time()); 

if($hour > 6 && $hour <= 11) { 
    echo "Good Morning"; 
} 
else if($hour > 11 && $hour <= 16) { 
    echo "Good Afternoon"; 
} 
else if($hour > 16 && $hour <= 23) { 
    echo "Good Evening"; 
} 
else { 
    echo "Why aren't you asleep? Are you programming?"; 
} 

...(時間帯を区別しないように)開始する必要があります。

+0

午後は11と** 16 **時間の間であると想定され、そうではありませんか? – zerkms

+0

@zerkms - あなたが正しいです。修正してありがとう! – Ben

2
$dt = new DateTime(); 

$hour = $dt->format('H'); 

は今、あなたの午前、午後、夕方や夜の範囲内で、この$hourをチェックし、それに応じてメッセージに

4

を与える私はこのスレッドが素敵なワンライナーを使用すると考えていた:

$hour = date('H'); 
$dayTerm = ($hour > 17) ? "Evening" : ($hour > 12) ? "Afternoon" : "Morning"; 
echo "Good " . $dayTerm; 

最高の時間を最初に確認すると(夕方)、範囲チェックを完全に排除してよりコンパクトな条件文を作成できます。

1
date_default_timezone_set('Asia/Dhaka'); 
$time=date('Hi'); 

if (($time >= "0600") && ($time <= "1200")) { 
    echo "Good Morning"; 
} 

elseif (($time >= "1201") && ($time <= "1600")) { 
    echo "Good Afternoon"; 
} 

elseif (($time >= "1601") && ($time <= "2100")) { 
    echo "Good Evening"; 
} 

elseif (($time >= "2101") && ($time <= "2400")) { 
    echo "Good Night"; 
} 
enter code here 
else{ 
    echo "Why aren't you asleep? Are you programming?<br>"; 
} 

?>

関連する問題