public static string GetTimeZone(string name, int bias)
{
List<byte> container = new List<byte>();
byte[] biasBytes = BitConverter.GetBytes(bias);
container.AddRange(biasBytes);
byte[] standardNameBytes = Encoding.Unicode.GetBytes(name);
container.AddRange(standardNameBytes);
byte[] standardDateBytes = new byte[16];
Array.Clear(standardDateBytes, 0x0, standardDateBytes.Length);
container.AddRange(standardDateBytes);
byte[] standardBiasBytes = new byte[4];
Array.Clear(standardBiasBytes, 0x0, standardBiasBytes.Length);
container.AddRange(standardBiasBytes);
byte[] daylightNameBytes = Encoding.Unicode.GetBytes(name);
container.AddRange(daylightNameBytes);
byte[] daylightDateBytes = new byte[16];
Array.Clear(daylightDateBytes, 0x0, daylightDateBytes.Length);
container.AddRange(daylightDateBytes);
byte[] daylightBiasBytes = new byte[4];
Array.Clear(daylightBiasBytes, 0x0, daylightBiasBytes.Length);
container.AddRange(daylightBiasBytes);
return Convert.ToBase64String(container.ToArray());
}