[Mono-list] Possible issue in timzoneinfo class with mono

nikhil sehgal nikhil.jiet at gmail.com
Thu Jan 26 06:03:48 UTC 2017


*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]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dot.net/pipermail/mono-list/attachments/20170126/5a3b5997/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 268686 bytes
Desc: not available
URL: <http://lists.dot.net/pipermail/mono-list/attachments/20170126/5a3b5997/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 278643 bytes
Desc: not available
URL: <http://lists.dot.net/pipermail/mono-list/attachments/20170126/5a3b5997/attachment-0003.png>


More information about the Mono-list mailing list