badlogic

night differential time computation new

Sep 18th, 2018
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. <?php
  2.  
  3. define('START_NIGHT_HOUR','22');
  4. define('START_NIGHT_MINUTE','00');
  5. define('START_NIGHT_SECOND','00');
  6. define('END_NIGHT_HOUR','06');
  7. define('END_NIGHT_MINUTE','00');
  8. define('END_NIGHT_SECOND','00');
  9.  
  10. function night_difference($start_work,$end_work)
  11. {
  12.     $start_night = mktime(START_NIGHT_HOUR,START_NIGHT_MINUTE,START_NIGHT_SECOND,date('m',$start_work),date('d',$start_work),date('Y',$start_work));
  13.     $end_night   = mktime(END_NIGHT_HOUR,END_NIGHT_MINUTE,END_NIGHT_SECOND,date('m',$start_work),date('d',$start_work) + 1,date('Y',$start_work));
  14.  
  15.     if($start_work >= $start_night && $start_work <= $end_night)
  16.     {
  17.         if($end_work >= $end_night)
  18.         {
  19.             return ($end_night - $start_work) / 3600;
  20.         }
  21.         else
  22.         {
  23.             return ($end_work - $start_work) / 3600;
  24.         }
  25.     }
  26.     elseif($end_work >= $start_night && $end_work <= $end_night)
  27.     {
  28.         if($start_work <= $start_night)
  29.         {
  30.             return ($end_work - $start_night) / 3600;
  31.         }
  32.         else
  33.         {
  34.             return ($end_work - $start_work) / 3600;
  35.         }
  36.     }
  37.     else
  38.     {
  39.         if($start_work < $start_night && $end_work > $end_night)
  40.         {
  41.             return ($end_night - $start_night) / 3600;
  42.         }
  43.         return 0;
  44.     }
  45. }
  46.  
  47. var_dump(night_difference(strtotime('11:00 PM'),strtotime('tomorrow 05:30')));
  48. var_dump(night_difference(strtotime('today 10:00'),strtotime('today 19:00')));
  49. var_dump(night_difference(strtotime('yesterday 10:00'),strtotime('today 08:00')));
  50. var_dump(night_difference(strtotime('yesterday 23:00'),strtotime('today 04:00')));
  51.  
  52.  
  53. $data = "12:00 PM - 9:00 PM";    
  54. $whatIWant = substr($data, strpos($data, "-") + 1);    
  55. echo trim($whatIWant);
Add Comment
Please, Sign In to add comment