public static void Main()
var sourceTimeZoneInfo = GetStateTimezone("VIC");
Console.WriteLine("Source TimeZone: {0}",sourceTimeZoneInfo);
var toConvert = DateTime.Parse("2022-10-02 02:59:59");
Console.WriteLine("Source Time: {0}", toConvert);
var converted = TimeZoneInfo.ConvertTimeToUtc(toConvert, sourceTimeZoneInfo);
Console.WriteLine("Converted Time: {0}", converted);
public static TimeZoneInfo GetStateTimezone(string state)
var timeZone = AusEasternStandardTime;
if (!string.IsNullOrEmpty(state))
timeZone = GetTimeZoneStringFromState(state);
return TimeZoneInfo.FindSystemTimeZoneById(timeZone);
public static string GetTimeZoneStringFromState(string state)
var timeZone = AusEasternStandardTime;
timeZone = AusEasternStandardTime;
timeZone = AusEasternStandardTime;
timeZone = AusEasternStandardTime;
timeZone = TasmaniaStandardTime;
timeZone = CentralAusStandardTime;
timeZone = EastAusStandardTime;
timeZone = AusCentralStandardTime;
timeZone = WestAusStandardTime;
public const string AusCentralStandardTime = "AUS Central Standard Time";
public const string AusEasternStandardTime = "AUS Eastern Standard Time";
public const string CentralAusStandardTime = "Cen. Australia Standard Time";
public const string EastAusStandardTime = "E. Australia Standard Time";
public const string TasmaniaStandardTime = "Tasmania Standard Time";
public const string WestAusStandardTime = "W. Australia Standard Time";