class DateTimeIso8601
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/TypedData/Plugin/DataType/DateTimeIso8601.php \Drupal\Core\TypedData\Plugin\DataType\DateTimeIso8601
- 10 core/lib/Drupal/Core/TypedData/Plugin/DataType/DateTimeIso8601.php \Drupal\Core\TypedData\Plugin\DataType\DateTimeIso8601
- 9 core/lib/Drupal/Core/TypedData/Plugin/DataType/DateTimeIso8601.php \Drupal\Core\TypedData\Plugin\DataType\DateTimeIso8601
- 8.9.x core/lib/Drupal/Core/TypedData/Plugin/DataType/DateTimeIso8601.php \Drupal\Core\TypedData\Plugin\DataType\DateTimeIso8601
A data type for ISO 8601 date strings.
The plain value of this data type is a date string in ISO 8601 format.
Attributes
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements \Drupal\Core\TypedData\TypedDataInterface, \Drupal\Component\Plugin\PluginInspectionInterface uses \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\TypedData\TypedDataTrait
- class \Drupal\Core\TypedData\PrimitiveBase implements \Drupal\Core\TypedData\PrimitiveInterface extends \Drupal\Core\TypedData\TypedData
- class \Drupal\Core\TypedData\Plugin\DataType\StringData implements \Drupal\Core\TypedData\Type\StringInterface extends \Drupal\Core\TypedData\PrimitiveBase
- class \Drupal\Core\TypedData\Plugin\DataType\DateTimeIso8601 implements \Drupal\Core\TypedData\Type\DateTimeInterface extends \Drupal\Core\TypedData\Plugin\DataType\StringData
- class \Drupal\Core\TypedData\Plugin\DataType\StringData implements \Drupal\Core\TypedData\Type\StringInterface extends \Drupal\Core\TypedData\PrimitiveBase
- class \Drupal\Core\TypedData\PrimitiveBase implements \Drupal\Core\TypedData\PrimitiveInterface extends \Drupal\Core\TypedData\TypedData
Expanded class hierarchy of DateTimeIso8601
3 files declare their use of DateTimeIso8601
- DateTimeIso8601Normalizer.php in core/
modules/ serialization/ src/ Normalizer/ DateTimeIso8601Normalizer.php - DateTimeIso8601NormalizerTest.php in core/
modules/ serialization/ tests/ src/ Unit/ Normalizer/ DateTimeIso8601NormalizerTest.php - DateTimeNormalizerTest.php in core/
modules/ serialization/ tests/ src/ Unit/ Normalizer/ DateTimeNormalizerTest.php
File
-
core/
lib/ Drupal/ Core/ TypedData/ Plugin/ DataType/ DateTimeIso8601.php, line 15
Namespace
Drupal\Core\TypedData\Plugin\DataTypeView source
class DateTimeIso8601 extends StringData implements DateTimeInterface {
/**
* {@inheritdoc}
*/
public function getDateTime() {
if ($this->value) {
if (is_array($this->value)) {
// Data of this type must always be stored in UTC.
$datetime = DrupalDateTime::createFromArray($this->value, 'UTC');
}
else {
// Data of this type must always be stored in UTC.
$datetime = new DrupalDateTime($this->value, 'UTC');
}
return $datetime;
}
}
/**
* {@inheritdoc}
*/
public function setDateTime(DrupalDateTime $dateTime, $notify = TRUE) {
$this->value = $dateTime->format('c');
// Notify the parent of any changes.
if ($notify && isset($this->parent)) {
$this->parent
->onChange($this->name);
}
}
}
Members
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.