Пример #1
0
 /**
  * Returns the value, in the format it should be encoded for json.
  *
  * This method must always return an array.
  *
  * @return array
  */
 function getJsonValue()
 {
     $parts = DateTimeParser::parseVCardTime($this->getValue());
     $timeStr = '';
     // Hour
     if (!is_null($parts['hour'])) {
         $timeStr .= $parts['hour'];
         if (!is_null($parts['minute'])) {
             $timeStr .= ':';
         }
     } else {
         // We know either minute or second _must_ be set, so we insert a
         // dash for an empty value.
         $timeStr .= '-';
     }
     // Minute
     if (!is_null($parts['minute'])) {
         $timeStr .= $parts['minute'];
         if (!is_null($parts['second'])) {
             $timeStr .= ':';
         }
     } else {
         if (isset($parts['second'])) {
             // Dash for empty minute
             $timeStr .= '-';
         }
     }
     // Second
     if (!is_null($parts['second'])) {
         $timeStr .= $parts['second'];
     }
     // Timezone
     if (!is_null($parts['timezone'])) {
         if ($parts['timezone'] === 'Z') {
             $timeStr .= 'Z';
         } else {
             $timeStr .= preg_replace('/([0-9]{2})([0-9]{2})$/', '$1:$2', $parts['timezone']);
         }
     }
     return [$timeStr];
 }
Пример #2
0
 /**
  * Returns the value, in the format it should be encoded for json.
  *
  * This method must always return an array.
  *
  * @return array
  */
 public function getJsonValue()
 {
     $parts = DateTimeParser::parseVCardTime($this->getValue());
     $timeStr = '';
     // Hour
     if (!is_null($parts['hour'])) {
         $timeStr .= $parts['hour'];
         if (!is_null($parts['minute'])) {
             $timeStr .= ':';
         }
     } else {
         // We know either minute or second _must_ be set, so we insert a
         // dash for an empty value.
         $timeStr .= '-';
     }
     // Minute
     if (!is_null($parts['minute'])) {
         $timeStr .= $parts['minute'];
         if (!is_null($parts['second'])) {
             $timeStr .= ':';
         }
     } else {
         if (isset($parts['second'])) {
             // Dash for empty minute
             $timeStr .= '-';
         }
     }
     // Second
     if (!is_null($parts['second'])) {
         $timeStr .= $parts['second'];
     }
     // Timezone
     if (!is_null($parts['timezone'])) {
         $timeStr .= $parts['timezone'];
     }
     return array($timeStr);
 }
Пример #3
0
 /**
  * @dataProvider vcardDates
  * @expectedException \InvalidArgumentException
  */
 function testBadVCardTime()
 {
     DateTimeParser::parseVCardTime('23:12:166');
 }