comparison vendor/sabre/vobject/lib/Property/VCard/TimeStamp.php @ 7:430dbd5346f7

vendor sabre as distributed
author Charlie Root
date Sat, 13 Jan 2018 09:06:10 -0500
parents
children
comparison
equal deleted inserted replaced
6:cec75ba50afc 7:430dbd5346f7
1 <?php
2
3 namespace Sabre\VObject\Property\VCard;
4
5 use
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) 2011-2015 fruux GmbH (https://fruux.com/).
15 * @author Evert Pot (http://evertpot.com/)
16 * @license http://sabre.io/license/ Modified BSD License
17 */
18 class 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 }