Esempio n. 1
0
 /**
  * @static
  * @param string|int $interval string interval in format: #d#h#m ie: 22d4h12m or total seconds
  * @return TimeInterval
  */
 public static function Parse($interval)
 {
     if (empty($interval)) {
         return new TimeInterval(0);
     }
     if (!is_numeric($interval)) {
         $seconds = DateDiff::FromTimeString($interval)->TotalSeconds();
     } else {
         $seconds = $interval;
     }
     return new TimeInterval($seconds);
 }
Esempio n. 2
0
 public function testCanGetDifferenceFromTime()
 {
     $seconds = 12 * 60 * 60 + 60 * 35;
     $str1 = "0d12h35m";
     $diff1 = DateDiff::FromTimeString($str1);
     $this->assertEquals($seconds, $diff1->TotalSeconds());
     $this->assertEquals(12, $diff1->Hours());
     $this->assertEquals(35, $diff1->Minutes());
     $this->assertEquals(0, $diff1->Days());
     $this->assertEquals("12 hours 35 minutes", $diff1->__toString());
     $seconds2 = 4 * 24 * 60 * 60 + 12 * 60 * 60 + 60 * 35;
     $str2 = "4d12h35m";
     $diff2 = DateDiff::FromTimeString($str2);
     $this->assertEquals($seconds2, $diff2->TotalSeconds());
     $this->assertEquals(12, $diff2->Hours());
     $this->assertEquals(35, $diff2->Minutes());
     $this->assertEquals(4, $diff2->Days());
     $this->assertEquals("4 days 12 hours 35 minutes", $diff2->__toString());
     $diff3 = DateDiff::FromTimeString("25h0m");
     $this->assertEquals(25 * 60 * 60, $diff3->TotalSeconds());
     $this->assertEquals(0, DateDiff::FromTimeString("dhm")->TotalSeconds());
     $this->assertEquals(0, DateDiff::FromTimeString("hm")->TotalSeconds());
     $this->assertEquals(0, DateDiff::FromTimeString("dm")->TotalSeconds());
 }