sheider
PaaS CMS Developer Certification
Apr 15, 2024
visibility 8965
star star star star star
(1 votes)

.Net Core Timezone ID's Windows vs Linux

Hey all,

First post here and I would like to talk about Timezone ID's and How Windows and Linux systems use different IDs.

We currently run a .NET Core site with Opti CMS and Customized Commerce (B2B Commerce) all hosted in DXC. And with our solution we had an automated process of what would be a scheduled publish of our commerce items.

We identified we had issues where our commerce items would publish early. Our investigation found that if you are using Timzezone ID's or just using the OOB TimeZoneInfo, the results you get will vary from your local development in windows to where its deployed to, in our case DXC (Linux).

With this in mind, we had to find a conversion nuget that would allow us to enter a windows timezone ID and allow it to auto convert it based on the environment it was deployed to.

https://github.com/mattjohnsonpint/TimeZoneConverter is the conversion nuget we use.

**Notes to those on .net 6+ from that Repository listed above:

.NET 6 has built-in support for IANA and Windows time zones in a cross-platform manner, somewhat reducing the need for this library. It relies on .NET's ICU integration to perform this functionality. See the .NET blog for details.

I Hope this information is useful to those of you who are working in .Net Core and are having issues with scheduled publish discrepencies.

Cheers,

Sean Heider

Apr 15, 2024

Comments

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