Csharp/C Sharp by API/System.Globalization/TimeZoneInfo

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

TimeZoneInfo.AdjustmentRule

<source lang="csharp">

using System; using System.Globalization; public class MainClass {

   public static void Main() {
       TimeZoneInfo wa = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time");
       foreach (TimeZoneInfo.AdjustmentRule rule in wa.GetAdjustmentRules()) {
           Console.WriteLine("Rule: applies from " + rule.DateStart +
                                             " to " + rule.DateEnd);
           Console.WriteLine("   Delta: " + rule.DaylightDelta);
           Console.WriteLine("   Start: " + FormatTransitionTime
                                            (rule.DaylightTransitionStart, false));
           Console.WriteLine("   End:   " + FormatTransitionTime
                                            (rule.DaylightTransitionEnd, true));
           Console.WriteLine();
       }
   }
   static string FormatTransitionTime(TimeZoneInfo.TransitionTime tt,
                                   bool endTime) {
       if (endTime && tt.IsFixedDateRule
                   && tt.Day == 1 && tt.Month == 1
                   && tt.TimeOfDay == DateTime.MinValue)
           return "-";
       string s;
       if (tt.IsFixedDateRule)
           s = tt.Day.ToString();
       else
           s = "The first second third fourth last".Split()[tt.Week - 1] +
               " " + tt.DayOfWeek + " in";
       return s + " " + DateTimeFormatInfo.CurrentInfo.MonthNames[tt.Month - 1]
                + " at " + tt.TimeOfDay.TimeOfDay;
   }

}


 </source>


TimeZoneInfo.BaseUtcOffset

<source lang="csharp"> using System; public class MainClass {

   public static void Main() {
       TimeZoneInfo wa = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time");
       Console.WriteLine(wa.Id);
       Console.WriteLine(wa.DisplayName);
       Console.WriteLine(wa.BaseUtcOffset);
       Console.WriteLine(wa.SupportsDaylightSavingTime);
   }

}


 </source>


TimeZoneInfo.DisplayName

<source lang="csharp"> using System; public class MainClass {

   public static void Main() {
       TimeZoneInfo wa = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time");
       Console.WriteLine(wa.Id);
       Console.WriteLine(wa.DisplayName);
       Console.WriteLine(wa.BaseUtcOffset);
       Console.WriteLine(wa.SupportsDaylightSavingTime);
   }

}


 </source>


TimeZoneInfo.FindSystemTimeZoneById

<source lang="csharp"> using System; public class MainClass {

   public static void Main() {
       TimeZoneInfo wa = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time");
       Console.WriteLine(wa.Id);
       Console.WriteLine(wa.DisplayName);
       Console.WriteLine(wa.BaseUtcOffset);
       Console.WriteLine(wa.SupportsDaylightSavingTime);
   }

}


 </source>


TimeZoneInfo.GetAdjustmentRules()

<source lang="csharp">

using System; using System.Globalization; public class MainClass {

   public static void Main() {
       TimeZoneInfo wa = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time");
       foreach (TimeZoneInfo.AdjustmentRule rule in wa.GetAdjustmentRules()) {
           Console.WriteLine("Rule: applies from " + rule.DateStart +
                                             " to " + rule.DateEnd);
           Console.WriteLine("   Delta: " + rule.DaylightDelta);
           Console.WriteLine("   Start: " + FormatTransitionTime
                                            (rule.DaylightTransitionStart, false));
           Console.WriteLine("   End:   " + FormatTransitionTime
                                            (rule.DaylightTransitionEnd, true));
           Console.WriteLine();
       }
   }
   static string FormatTransitionTime(TimeZoneInfo.TransitionTime tt,
                                   bool endTime) {
       if (endTime && tt.IsFixedDateRule
                   && tt.Day == 1 && tt.Month == 1
                   && tt.TimeOfDay == DateTime.MinValue)
           return "-";
       string s;
       if (tt.IsFixedDateRule)
           s = tt.Day.ToString();
       else
           s = "The first second third fourth last".Split()[tt.Week - 1] +
               " " + tt.DayOfWeek + " in";
       return s + " " + DateTimeFormatInfo.CurrentInfo.MonthNames[tt.Month - 1]
                + " at " + tt.TimeOfDay.TimeOfDay;
   }

}


 </source>


TimeZoneInfo.GetSystemTimeZones()

<source lang="csharp"> using System; public class MainClass {

   public static void Main() {
       foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
           Console.WriteLine(z.Id);
   }

}


 </source>


TimeZoneInfo.Local

<source lang="csharp"> using System; public class MainClass {

   public static void Main() {
       TimeZoneInfo zone = TimeZoneInfo.Local;
       Console.WriteLine(zone.StandardName);
       Console.WriteLine(zone.DaylightName);
   }

}


 </source>


TimeZoneInfo.SupportsDaylightSavingTime

<source lang="csharp"> using System; public class MainClass {

   public static void Main() {
       TimeZoneInfo wa = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time");
       Console.WriteLine(wa.Id);
       Console.WriteLine(wa.DisplayName);
       Console.WriteLine(wa.BaseUtcOffset);
       Console.WriteLine(wa.SupportsDaylightSavingTime);
   }

}


 </source>