From 797b02b7b7a538fefb38778b3b966a3062a79c20 Mon Sep 17 00:00:00 2001 From: Amit Sharma Date: Thu, 1 Nov 2018 14:16:18 +1100 Subject: [PATCH 1/2] Issue 200 fix issue with creation of date only fields --- .../Driver/Fields/Drupal8/DatetimeHandler.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php b/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php index 2b17f1c9..6c1ed445 100644 --- a/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php +++ b/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php @@ -27,9 +27,17 @@ public function expand($values) { // uses UTC for internal storage. If no timezone is specified in a date // field value by the step author, assume the default timezone of // the Drupal install, and therefore transform it into UTC for storage. - $date = new DateTime($value, $siteTimezone); - $date->setTimezone($storageTimezone); - $values[$key] = $date->format('Y-m-d\TH:i:s'); + if (DateTime::createFromFormat('Y-m-d', $value) !== FALSE) { + // Handle 'Date only' date type + $date = new DateTime($value); + $formattedDate = $date->format('Y-m-d'); + } + else { + $date = new DateTime($value, $siteTimezone); + $date->setTimezone($storageTimezone); + $formattedDate = $date->format('Y-m-d\TH:i:s'); + } + $values[$key] = $formattedDate; } } return $values; From 8d45f2f7aa7f92fe481ce87dfc497d287f9835ea Mon Sep 17 00:00:00 2001 From: Amit Sharma Date: Thu, 1 Nov 2018 14:34:09 +1100 Subject: [PATCH 2/2] 200-fix-dateonly-type: added full stop at the end of comment --- src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php b/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php index 6c1ed445..9403c078 100644 --- a/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php +++ b/src/Drupal/Driver/Fields/Drupal8/DatetimeHandler.php @@ -28,7 +28,7 @@ public function expand($values) { // field value by the step author, assume the default timezone of // the Drupal install, and therefore transform it into UTC for storage. if (DateTime::createFromFormat('Y-m-d', $value) !== FALSE) { - // Handle 'Date only' date type + // Handle 'Date only' date type. $date = new DateTime($value); $formattedDate = $date->format('Y-m-d'); }