Scott Reed
OMVPPaaS CMS Developer Certificationworkspace_premium +2
Mar 4, 2025
visibility 2949
star star star star star star
(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?

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026