Skip to content

Commit ae42612

Browse files
committed
Fix date format for different locales
1 parent 602ba15 commit ae42612

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

lib/internal/Magento/Framework/Stdlib/DateTime/Timezone.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,11 +309,23 @@ public function formatDateTime(
309309
*/
310310
public function convertConfigTimeToUtc($date, $format = 'Y-m-d H:i:s')
311311
{
312+
$formatter = new \IntlDateFormatter(
313+
$this->_localeResolver->getLocale(),
314+
\IntlDateFormatter::MEDIUM,
315+
\IntlDateFormatter::MEDIUM,
316+
$this->getConfigTimezone(),
317+
null,
318+
null
319+
);
320+
$unixTime = $formatter->parse($date);
321+
$dateTime = new DateTime($this);
322+
312323
if (!($date instanceof \DateTimeInterface)) {
313324
if ($date instanceof \DateTimeImmutable) {
314325
$date = new \DateTime($date->format('Y-m-d H:i:s'), new \DateTimeZone($this->getConfigTimezone()));
315326
} else {
316-
$date = new \DateTime($date, new \DateTimeZone($this->getConfigTimezone()));
327+
$dateUniversal = $dateTime->gmtDate(null, $unixTime);
328+
$date = new \DateTime($dateUniversal, new \DateTimeZone($this->getConfigTimezone()));
317329
}
318330
} else {
319331
if ($date->getTimezone()->getName() !== $this->getConfigTimezone()) {

0 commit comments

Comments
 (0)