1<?php 2 3namespace Sabre\VObject\Property\VCard; 4 5use 6 Sabre\VObject\DateTimeParser, 7 Sabre\VObject\Property\Text; 8 9/** 10 * TimeStamp property 11 * 12 * This object encodes TIMESTAMP values. 13 * 14 * @copyright Copyright (C) fruux GmbH (https://fruux.com/) 15 * @author Evert Pot (http://evertpot.com/) 16 * @license http://sabre.io/license/ Modified BSD License 17 */ 18class TimeStamp extends Text { 19 20 /** 21 * In case this is a multi-value property. This string will be used as a 22 * delimiter. 23 * 24 * @var string|null 25 */ 26 public $delimiter = null; 27 28 /** 29 * Returns the type of value. 30 * 31 * This corresponds to the VALUE= parameter. Every property also has a 32 * 'default' valueType. 33 * 34 * @return string 35 */ 36 public function getValueType() { 37 38 return "TIMESTAMP"; 39 40 } 41 42 /** 43 * Returns the value, in the format it should be encoded for json. 44 * 45 * This method must always return an array. 46 * 47 * @return array 48 */ 49 public function getJsonValue() { 50 51 $parts = DateTimeParser::parseVCardDateTime($this->getValue()); 52 53 $dateStr = 54 $parts['year'] . '-' . 55 $parts['month'] . '-' . 56 $parts['date'] . 'T' . 57 $parts['hour'] . ':' . 58 $parts['minute'] . ':' . 59 $parts['second']; 60 61 // Timezone 62 if (!is_null($parts['timezone'])) { 63 $dateStr.=$parts['timezone']; 64 } 65 66 return array($dateStr); 67 68 } 69} 70