Deserialize a string and recreate an original serialized TimeZoneInfo object in CSharp

Description

The following code shows how to deserialize a string and recreate an original serialized TimeZoneInfo object.

Example


using System.IO;//from  w ww .  j ava  2s . c  o  m
using System;
public class MainClass
{
    public static void Main(String[] argv)
    {

        TimeZoneInfo southPole = null;
        const string filename = @".\TimeZoneInfo.txt";
        TimeZoneInfo.TransitionTime startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 10, 1, DayOfWeek.Sunday);
        TimeZoneInfo.TransitionTime endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 3, 3, DayOfWeek.Sunday);
        TimeSpan delta = new TimeSpan(1, 0, 0);
        TimeZoneInfo.AdjustmentRule adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1989, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition);
        TimeZoneInfo.AdjustmentRule[] adjustments = { adjustment };

        string displayName = "(GMT+12:00) myTimeZone";
        string standardName = "myTimeZone Standard Time";
        string daylightName = "myTimeZone Daylight Time";
        TimeSpan offset = new TimeSpan(12, 0, 0);
        southPole = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments);
        StreamWriter writer = new StreamWriter(filename, true);
        writer.WriteLine(southPole.ToSerializedString());
        writer.Close();


        StreamReader reader = new StreamReader(filename);
        string timeZoneInfo;
        while (reader.Peek() >= 0)
        {
            timeZoneInfo = reader.ReadLine();
            if (timeZoneInfo.Contains("myTimeZone"))
            {
                southPole = TimeZoneInfo.FromSerializedString(timeZoneInfo);
                reader.Close();
                break;
            }
        }
    }
}




















Home »
  C# Tutorial »
    Data Types »




C# Data Types
Bool
Byte
Char
Decimal
Double
Float
Integer
Long
Short
String
C# Array
Array Example
Byte Array
C# Standard Data Type Format
BigInteger
Complex
Currency
DateTime
DateTimeOffset
DateTime Format Parse Convert
TimeSpan
TimeZone
Enum
Null
tuple
var