DateTimeFromStringEnhancer.php in JSON:API Extras 8.2
File
src/Plugin/jsonapi/FieldEnhancer/DateTimeFromStringEnhancer.php
View source
<?php
namespace Drupal\jsonapi_extras\Plugin\jsonapi\FieldEnhancer;
use Drupal\jsonapi_extras\Plugin\DateTimeEnhancerBase;
use Shaper\Util\Context;
class DateTimeFromStringEnhancer extends DateTimeEnhancerBase {
protected function doUndoTransform($data, Context $context) {
$storage_timezone = new \DateTimezone(DATETIME_STORAGE_TIMEZONE);
$date = new \DateTime($data, $storage_timezone);
$configuration = $this
->getConfiguration();
$output_timezone = new \DateTimezone(drupal_get_user_timezone());
$date
->setTimezone($output_timezone);
return $date
->format($configuration['dateTimeFormat']);
}
protected function doTransform($data, Context $context) {
$date = new \DateTime($data);
$storage_timezone = new \DateTimezone(DATETIME_STORAGE_TIMEZONE);
$date
->setTimezone($storage_timezone);
return $date
->format(DATETIME_DATETIME_STORAGE_FORMAT);
}
}