Take the community feedback survey now.

Scott Reed
Mar 4, 2025
  1183
(6 votes)

CMS 12 DXP Migrations - Time Zones

When it comes to migrating a project from CMS 11 and .NET Framework on the DXP to CMS 12 and .NET Core one thing you need to be aware of is the infrastructure.

On CMS 11 .NET Framework we are running on direct Windows WebApps in Azure

Whereas on CMS 12 .NET Core we are running on Docker contained Lixux WebApps

One of the issues we've faced on this during migrations that something to be aware of is the website timezone value which might be set on directly in the settings for the WebApps on the DXP when running under CMS 11. For example for sites we've had running in USA

This can cause an issue as when going through the project migration process in the DXP to migrate a project over the new infrastructure running in Docker is set to run under UTC and thefore if you have an C# calls to ToLocalTime() in your code you make get different values on this in the new infrastructure.

Luckily however there's an easy way to solve this, you can add a setting in to the "App Settings" area of your new project to tell the Docker container what timezone to run under,

Example values supported are as follows (Should support any that Docker supports https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

Time Zone Identifier
GMT
Pacific/Apia
HST
AST
America/Los_Angeles
America/Phoenix
America/Mazatlan
America/Denver
America/Belize
America/Chicago
America/Mexico_City
America/Regina
America/Bogota
America/New_York
America/Indianapolis
America/Halifax
America/Caracas
America/Santiago
America/St_Johns
America/Sao_Paulo
America/Buenos_Aires
America/Godthab
Atlantic/South_Georgia
Atlantic/Azores
Atlantic/Cape_Verde
Africa/Casablanca
Europe/Dublin
Europe/Berlin
Europe/Belgrade
Europe/Paris
Europe/Warsaw
ECT
Europe/Athens
Europe/Minsk
Europe/Bucharest
Africa/Cairo
Africa/Harare
Europe/Helsinki
Asia/Jerusalem
Asia/Baghdad
Asia/Kuwait
Europe/Moscow
Africa/Nairobi
Asia/Tehran
Asia/Muscat
Asia/Baku
Asia/Kabul
Asia/Yekaterinburg
Asia/Karachi
Asia/Calcutta
Asia/Katmandu
Asia/Almaty
Asia/Dhaka
Asia/Colombo
Asia/Rangoon
Asia/Bangkok
Asia/Krasnoyarsk
Asia/Hong_Kong
Asia/Irkutsk
Asia/Kuala_Lumpur
Australia/Perth
Asia/Taipei
Asia/Tokyo
Asia/Seoul
Asia/Yakutsk
Australia/Adelaide
Australia/Darwin
Australia/Brisbane
Australia/Sydney
Pacific/Guam
Australia/Hobart
Asia/Vladivostok
Pacific/Noumea
Pacific/Auckland
Pacific/Fiji
Pacific/Tongatapu

Mar 04, 2025

Comments

Mike Malloy
Mike Malloy Mar 4, 2025 03:13 PM

How did you determine that the name was "TZ" ?

Scott Reed
Scott Reed Mar 4, 2025 04:01 PM

It's s standard docker thing that was pointed out to us by Optimizely support

Stefan Holm Olsen
Stefan Holm Olsen Jun 12, 2025 11:32 AM

Hi Scott

Was the database already changed to UTC? Or did you change it while upgrading?

Please login to comment.
Latest blogs
A day in the life of an Optimizely MVP - Opti Graph Extensions add-on v1.0.0 released

I am pleased to announce that the official v1.0.0 of the Opti Graph Extensions add-on has now been released and is generally available. Refer to my...

Graham Carr | Sep 25, 2025

Raising and Retrieving Custom Events in Application Insights

Following on from Minesh's insight on how to extend Extending Application Insights in an Optimizely PaaS CMS Solution , I'd like to share another w...

Mark Stott | Sep 25, 2025

Extending Application Insights in an Optimizely PaaS CMS Solution

As part of a recent Optimizely DXP project, I needed richer telemetry from the Content Delivery API than the default Application Insights integrati...

Minesh Shah (Netcel) | Sep 24, 2025

Master Language Switcher for Optimizely CMS 12

Managing multiple languages in Optimizely CMS 12 can sometimes be challenging — especially when you need to promote a new language branch to be the...

Adnan Zameer | Sep 24, 2025 |