diff --git a/application/Espo/Controllers/Import.php b/application/Espo/Controllers/Import.php index 6c75d7edc8..07b2a05a20 100644 --- a/application/Espo/Controllers/Import.php +++ b/application/Espo/Controllers/Import.php @@ -167,12 +167,18 @@ class Import extends \Espo\Core\Controllers\Record throw new BadRequest(); } + $timezone = 'UTC'; + if (isset($data['timezone'])) { + $timezone = $data['timezone']; + } + $importParams = array( 'headerRow' => !empty($data['headerRow']), 'fieldDelimiter' => $data['fieldDelimiter'], 'textQualifier' => $data['textQualifier'], 'dateFormat' => $data['dateFormat'], 'timeFormat' => $data['timeFormat'], + 'timezone' => $timezone, 'personNameFormat' => $data['personNameFormat'], 'decimalMark' => $data['decimalMark'], 'currency' => $data['currency'], diff --git a/application/Espo/Resources/i18n/en_US/Import.json b/application/Espo/Resources/i18n/en_US/Import.json index 130f70902d..3b84d7554a 100644 --- a/application/Espo/Resources/i18n/en_US/Import.json +++ b/application/Espo/Resources/i18n/en_US/Import.json @@ -50,7 +50,8 @@ "Imported": "Imported", "Duplicates": "Duplicates", "Updated": "Updated", - "Skip searching for duplicates": "Skip searching for duplicates" + "Skip searching for duplicates": "Skip searching for duplicates", + "Timezone": "Timezone" }, "messages": { "utf8": "Should be UTF-8 encoded", diff --git a/application/Espo/Services/Import.php b/application/Espo/Services/Import.php index 11692bd632..7fc272c19b 100644 --- a/application/Espo/Services/Import.php +++ b/application/Espo/Services/Import.php @@ -655,8 +655,10 @@ class Import extends \Espo\Services\Record } break; case Entity::DATETIME: - $dt = \DateTime::createFromFormat($dateFormat . ' ' . $timeFormat, $value); + $timezone = new \DateTimeZone(isset($params['timezone']) ? $params['timezone'] : 'UTC'); + $dt = \DateTime::createFromFormat($dateFormat . ' ' . $timeFormat, $value, $timezone); if ($dt) { + $dt->setTimezone(new \DateTimeZone('UTC')); return $dt->format('Y-m-d H:i'); } break; diff --git a/client/res/templates/import/step-1.tpl b/client/res/templates/import/step-1.tpl index 65a1ed129d..5d0fbf535f 100644 --- a/client/res/templates/import/step-1.tpl +++ b/client/res/templates/import/step-1.tpl @@ -103,6 +103,20 @@ +