Take the community feedback survey now.

Scott Reed
Mar 4, 2025
  1112
(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
Meet the newest OMVPs – summer 2025 cohort

We’re excited to welcome the latest group of Optimizely Most Valuable Professionals (OMVPs) into the program! This summer’s cohort highlights a ble...

Satata Satez | Sep 5, 2025

The Sweet Spot: Hybrid Headless Architecture

When it comes to content management architecture, the pendulum often swings between tightly coupled “headed” CMS setups and the flexibility of full...

Minesh Shah (Netcel) | Sep 4, 2025

Preview Unpublished Pages and Blocks on the Frontend (Optimizely CMS 12)

Introduction In my previous post , I explained how to customize the ContentArea rendering pipeline in Optimizely CMS 12 so editors can see...

Adnan Zameer | Sep 4, 2025 |

How to automatically remove orphaned Opti jobs from the DB

Optimizely CMS provides a simple yet powerful built-in job system that handles most standard scheduling scenarios with ease. Developers can easily...

Stanisław Szołkowski | Sep 4, 2025 |