Microsoft.Protocols.TestSuites.Common.Common.GetTimeZone C# (CSharp) Method

GetTimeZone() public static method

Get the TimeZone string which is base64 encoded according the specified name and bias. For detailed algorithm refer to [MS-ASDTYPE] 2.6.4 TimeZone
public static GetTimeZone ( string name, int bias ) : string
name string The StandardName or DaylightName for TimeZone
bias int The offset from UTC
return string
        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());
        }
Common