Possible issue in timzoneinfo class with mono
nikhil sehgal <[email protected]> Thu, 26 Jan 2017 11:33:48 +0530
| Newsgroups | gmane.comp.gnome.mono.general |
|---|---|
| Message-ID | <CAF0vV7yQETkJfrw47edvAzYBOvcoR48Hc9Usy4XirzOLLkuUMg__20730.4653748453$1485410831$gmane$org@mail.gmail.com> |
*Currently we have 2 issues while implementing TimeZoneInfo class in MONO.*
1. While fetching the currenttimezone using “TimeZoneInfo.Local” we
are getting the value of “DisplayName” and “ID” as *Local* in Linux, while
it is giving correct values in Windows implementation.
[image: Inline image 1]
1.
TimeZoneInfo TZI_Local = TimeZoneInfo.Local;
string DisplayName = TZI_Local.DisplayName;
string Id = TZI_Local.Id;
Console.WriteLine("Display Name : " + DisplayName);
Console.WriteLine("ID : " + Id);
However when we fetch out all the TimeZone data we can have the value for
“DisplayName” and “ID” in Linux but that too is different from that of
Windows OS.
System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> tz;
tz = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo timeZone in tz)
{
string DisplayName = timeZone.DisplayName;
string Id = timeZone.Id;
Console.WriteLine("Display Name : " + DisplayName);
Console.WriteLine("ID : " + Id);
}
*Output in Linux*
DisplayName : Asia/Tehran
ID : Asia/Tehran
2. When we look into Adjustment Rules (TimeZoneInfo.AdjustmentRule)
for the calculation of DSTDate and STDDate again this class returns *-1*
for “Week” and “DayofWeek”. Also the other values e.g. “Day”, ”Hour”,
”Minute” and “Second” are not same in Linux and Windows.
TimeZoneInfo TZI_Local = TimeZoneInfo.Local;
TimeZoneInfo.AdjustmentRule[] ar = TZI_Local.GetAdjustmentRules();
foreach (TimeZoneInfo.AdjustmentRule tzi_ar in ar)
{
Console.WriteLine("DaylightTransitionEnd.Day : " +
tzi_ar.DaylightTransitionEnd.Day.ToString());
Console.WriteLine("DaylightTransitionEnd.DayOfWeek : " +
tzi_ar.DaylightTransitionEnd.DayOfWeek.ToString());
Console.WriteLine("DaylightTransitionEnd.Month : " +
tzi_ar.DaylightTransitionEnd.Month.ToString());
Console.WriteLine("DaylightTransitionEnd.Week : " +
tzi_ar.DaylightTransitionEnd.Week.ToString());
Console.WriteLine("DaylightTransitionEnd.TimeOfDay.Hour : " +
tzi_ar.DaylightTransitionEnd.TimeOfDay.Hour.ToString());
Console.WriteLine("DaylightTransitionEnd.TimeOfDay.Minute : " +
tzi_ar.DaylightTransitionEnd.TimeOfDay.Minute.ToString());
Console.WriteLine("DaylightTransitionEnd.TimeOfDay.Second : " +
tzi_ar.DaylightTransitionEnd.TimeOfDay.Second.ToString());
}
[image: Inline image 2]
_______________________________________________
Mono-list maillist - [email protected]
http://lists.dot.net/mailman/listinfo/mono-list
image.png
(image/png, 262.4 KB) - not displayed
image.png
(image/png, 272.1 KB) - not displayed