Use explicit offsets instead of the host computer's local zone.

Time Zones

TimeZones.cs
using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        int offsetHours = ;
        DateTimeOffset meeting = new DateTimeOffset(
            2026, 5, 20, 14, 30, 0, TimeSpan.FromHours(offsetHours)
        );
        DateTimeOffset utc = meeting.ToUniversalTime();

        string localText = meeting.ToString("yyyy-MM-dd HH:mm zzz", CultureInfo.InvariantCulture);
        string utcText = utc.ToString("yyyy-MM-dd HH:mm zzz", CultureInfo.InvariantCulture);

        Console.WriteLine($"local={localText}");
        Console.WriteLine($"utc={utcText}");
    }
}
using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        int offsetHours = ;
        DateTimeOffset meeting = new DateTimeOffset(
            2026, 5, 20, 14, 30, 0, TimeSpan.FromHours(offsetHours)
        );
        DateTimeOffset utc = meeting.ToUniversalTime();

        string localText = meeting.ToString("yyyy-MM-dd HH:mm zzz", CultureInfo.InvariantCulture);
        string utcText = utc.ToString("yyyy-MM-dd HH:mm zzz", CultureInfo.InvariantCulture);

        Console.WriteLine($"local={localText}");
        Console.WriteLine($"utc={utcText}");
    }
}
using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        int offsetHours = ;
        DateTimeOffset meeting = new DateTimeOffset(
            2026, 5, 20, 14, 30, 0, TimeSpan.FromHours(offsetHours)
        );
        DateTimeOffset utc = meeting.ToUniversalTime();

        string localText = meeting.ToString("yyyy-MM-dd HH:mm zzz", CultureInfo.InvariantCulture);
        string utcText = utc.ToString("yyyy-MM-dd HH:mm zzz", CultureInfo.InvariantCulture);

        Console.WriteLine($"local={localText}");
        Console.WriteLine($"utc={utcText}");
    }
}
offsets `DateTimeOffset` keeps a date and time together with a known UTC offset.