2012-03-13 18 views
9

मैं उदाहरण के लिए php में अगले निकटतम घंटेनिकटतम अगले एक घंटे

तो कैसे मिल सकता है वर्तमान समय 04:15 अगले एक घंटे 5 हो जाएगा, आदि को खोजने

$dateString = 'Tue, 13 Mar 2012 04:48:34 -0400'; 
$date = new DateTime($dateString); 
echo $date->format('H:i:s'); 

मुझे देता है स्ट्रिंग से समय और मैं उस पर विस्तार करना चाहता हूं और अगले निकटतम घंटे

उत्तर

1

आपूर्ति के लिए किसी भी उपयुक्त तिथि():

function roundToNextHour($dateString) { 
    $date = new DateTime($dateString); 
    $minutes = $date->format('i'); 
    if ($minutes > 0) { 
     $date->modify("+1 hour"); 
     $date->modify('-'.$minutes.' minutes'); 
    } 
    return $date; 
} 
4

क्या आप बस टुकड़े (घंटे, मिनट, सेकंड) ले सकते हैं और अगले घंटे प्राप्त कर सकते हैं?

$dateString = 'Tue, 13 Mar 2012 04:48:34 -0400'; 
$date = new DateTime($dateString); 

echo $date->format('H:i:s'); 
echo "\n"; 

$nexthour = ($date->format('H') + ($date->format('i') > 0 || $date->format('s') > 0 ? 1 : 0)) % 24; 
echo "$nexthour:00:00"; 
10
$nextHour = (intval($date->format('H'))+1) % 24; 
echo $nextHour; // 5 
3
<?php 

$dateString = 'Tue, 13 Mar 2012 04:48:34 -0400'; 

$date = new DateTime($dateString); 
$date->modify('+1 hour'); 

echo $date->format('H:i:s').PHP_EOL; 

// OR 

echo date('H:i:s', strtotime($dateString) + 60 * 60).PHP_EOL; 
2

मैं बस कुछ इसी तरह (अगले पूरे घंटे) की जरूरत के रूप में यहाँ मेरी समाधान:

$now = time(); 
$nextFullHour = date(DATE_ATOM, $now + (3600 - $now % 3600)); 

3600 उदाहरण को बदलकर 60 के साथ आपको अगला पूर्ण मिनट मिल जाएगा ...
यदि आप वर्तमान समय के सापेक्ष इसकी आवश्यकता नहीं है तो आप $now को किसी भी अन्य टाइमस्टैम्प के साथ प्रतिस्थापित भी कर सकते हैं।

0

, वर्तमान समय के लिए यह कोशिश अगर तुम तिथि कार्य करने के लिए दूसरा तर्क डाल की जरूरत है

<?php echo date('H')+1; ?>  

बहुत अच्छा सामान

+0

सरल, छोटा और प्रभावी । –

+0

यदि वर्तमान घंटे = 24. फिर अगला = 24 + 1 = 25 –

0

मेरी समाधान है कि:

$dateTime = new \DateTime(); 
$dateTime->add(new \DateInterval('PT1H')) 
     ->setTime($dateTime->format('H'), '00'); 
संबंधित मुद्दे