Csharp/C Sharp by API/System.Globalization/TimeZoneInfo — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:31, 26 мая 2010
Содержание
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>