2011-12-28 12 views
11

के समय के आधार मैं एक पेज दिन के घंटे के आधार पर पर कुछ कोड या संदेश प्रतिध्वनित करने के लिए की जरूरत है। बस एक स्वागत संदेश, "अच्छा शाम", या "नमस्कार"रन कोड दिन

मैं समूह के खास समय के लिए गर्म पता नहीं है और करने के लिए 1:00:00 बजे से की तरह

प्रत्येक समूह को संदेश आवंटित की तरह 16:00:00 = "नमस्कार" और 04:00:01 से 08:00: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

$ टाइमज़ोन चर का उद्देश्य क्या है? इसका उपयोग प्रारंभिक कोड के नीचे दिए गए कोड में नहीं किया जाता है;) –

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 - Whew आप सही हैं। फिक्स्ड और धन्यवाद! – 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>"; 
} 

?>