<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>PublicDomain</title><link>http://publicdomain.codeplex.com/project/feeds/rss</link><description>Completely open source &amp;#40;Public Domain&amp;#41; collection of useful .NET classes and utilities.</description><item><title>Reopened Issue: Wrong calculation of number in FileSizeRollOverStrategy.GetFileName() [12363]</title><link>http://publicdomain.codeplex.com/workitem/12363</link><description>The maximum integer number is not correctly calculated if the path to the logfile directory contains digit&amp;#40;s&amp;#41;. The code GetFileName&amp;#40;&amp;#41; should be changed to&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;        public string GetFileName&amp;#40;string fileName, LoggerSeverity severity, DateTime timestamp, object entry, object&amp;#91;&amp;#93; formatParameters, string logLine&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;                ...&lt;br /&gt;                int foundNumber &amp;#61; StringUtilities.ExtractFirstNumber&amp;#40;Path.GetFileName&amp;#40;foundFile&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                ...&lt;br /&gt;        &amp;#125;&lt;br /&gt;</description><author>schizoidboy</author><pubDate>Fri, 14 Jun 2013 06:47:08 GMT</pubDate><guid isPermaLink="false">Reopened Issue: Wrong calculation of number in FileSizeRollOverStrategy.GetFileName() [12363] 20130614064708A</guid></item><item><title>Reopened Issue: Time zone remaining ToUniversalTime and ToLocalTime issues [12480]</title><link>http://publicdomain.codeplex.com/workitem/12480</link><description>Sorry about the delay in my response. I tested your last round of fixes and we are now much closer to having it working right.&lt;br /&gt;&amp;#160;&lt;br /&gt;Thanks for letting me know about DateTimeKind.Utc. I made DateTimeKind explicit in all my tests, for example&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;New DateTime&amp;#40;DateTime.Parse&amp;#40;&amp;#34;2008-03-30 00&amp;#58;00&amp;#34;&amp;#41;.Ticks, DateTimeKind.Local&amp;#41;&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;You said &amp;#34;Also, I don&amp;#39;t think the ToLocalTime tests are really valid on the boundary cases.&amp;#34; I know, you should never have a case of &amp;#39;2006-04-02 02&amp;#58;30&amp;#39; in America&amp;#47;Chicago time zone since 2 am becomes 3 am, creating an hour &amp;#39;hole&amp;#39;. I think you are doing the right thing in this case by applying the DST rule and not worrying about this &amp;#34;invalid&amp;#34; hour&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;The same &amp;#40;repeated hour&amp;#41; issue affects .ToLocalTime when DST goes off. Again, you are doing the right thing IMO.&lt;br /&gt;&amp;#160;&lt;br /&gt;The remaining issues revolve around the interpretation of the DST switchover time rule. The Olsen database uses several letters to indicate how the DST switch time should be interpreted. Here are a few examples&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#9;---------------------------------------------------&lt;br /&gt;&amp;#9;DST rule name Valid on&amp;#47;off Date Time Offset &lt;br /&gt;&amp;#9;---------------------------------------------------&lt;br /&gt;No letter&amp;#58;&lt;br /&gt;&amp;#9;US &amp;#62;&amp;#61; 2007 on Mar Sun&amp;#62;&amp;#61;8 2&amp;#58;00 1&amp;#58;00 &lt;br /&gt;&amp;#39;u&amp;#39;&amp;#58;&lt;br /&gt;&amp;#9;EU on Mar lastSun 1&amp;#58;00u 1&amp;#58;00 &lt;br /&gt;&amp;#39;s&amp;#39;&amp;#58;&lt;br /&gt;&amp;#9;Russia on Mar lastSun 2&amp;#58;00s 1&amp;#58;00 &lt;br /&gt;&amp;#160;&lt;br /&gt;The key to interpreting the letter is &amp;#40;see http&amp;#58;&amp;#47;&amp;#47;home.tiscali.nl&amp;#47;&amp;#126;t876506&amp;#47;TZworld.html&amp;#41;&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;no letter or w&amp;#58; wall clock time, actual local time.&lt;br /&gt;s&amp;#58; local standard time &amp;#40;winter time&amp;#41;&lt;br /&gt;u or g or z&amp;#58; UTC time.&lt;br /&gt;So, if a &amp;#39;DST on&amp;#39; time is given as &amp;#39;2&amp;#58;00s&amp;#39;, this means a switch on 2&amp;#58;00 local time. If a &amp;#39;DST off&amp;#39; time is given as &amp;#39;2&amp;#58;00s&amp;#39;, this means a switch on 3&amp;#58;00 local time &amp;#40;assuming a DST offset of 1 hour&amp;#41;.&lt;br /&gt;&amp;#160;&lt;br /&gt;In zone.ToUniversalTime and zone.ToLocalTime, the switchover time is not always interpreted correctly. Here are the use cases. Please see a complete listing of use case results and the source code in the attached file &amp;#39;UTC Testing.rtf&amp;#39; to see the results for dates in different years.&lt;br /&gt;&amp;#160;&lt;br /&gt;1. America&amp;#47;Chicago &amp;#40;rule for 2006&amp;#58; Apr Sun&amp;#62;&amp;#61;1 2&amp;#58;00 &amp;#91;local time&amp;#93;&amp;#41;&amp;#58; ToUniversalTime switchover time is correct&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;     &amp;#60;- switchover is correct&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;2. America&amp;#47;Chicago &amp;#40;rule for 2006&amp;#58; Apr Sun&amp;#62;&amp;#61;1 2&amp;#58;00 &amp;#91;local time&amp;#93;&amp;#41;&amp;#58; ToLocalTime interprets the switchover time as UTC &amp;#40;u&amp;#41; instead of local. The switch occurs at 2am UTC time &amp;#40;9 pm on the preceding day local time&amp;#41; instead of 8 am UTC time &amp;#40;2 am local&amp;#41;&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 7&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 9&amp;#58;00&amp;#58;00 PM&amp;#39;     &amp;#60;- switchover occurs here &amp;#40;2&amp;#58;00 UTC&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 9&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 03&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 10&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 07&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 2&amp;#58;00&amp;#58;00 AM&amp;#39;     &amp;#60;- instead of here &amp;#40;2&amp;#58;00 local actual time&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 07&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 2&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;3. Europe&amp;#47;Paris &amp;#40;Mar lastSun 1&amp;#58;00u - &amp;#39;u&amp;#39; means &amp;#39;UTC&amp;#39;&amp;#41;&amp;#58; ToUniversalTime acts as if the switchover time is expressed in local time&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;00&amp;#58;00 PM&amp;#39;    &amp;#60;- switchover occurs here &amp;#40;1&amp;#58;00 local time&amp;#41;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007&amp;#39;                        &amp;#60;- and should occur of here &amp;#40;1&amp;#58;00 UTC&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;4. Europ&amp;#47;Paris &amp;#40;Mar lastSun 1&amp;#58;00u - &amp;#39;u&amp;#39; means &amp;#39;UTC&amp;#39;&amp;#41;&amp;#58; ToLocalTime switchover time is correct&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 1&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 1&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 3&amp;#58;00&amp;#58;00 AM&amp;#39;      &amp;#60;- switchover is correct&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 3&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;5. Europe&amp;#47;Moscow &amp;#40;Mar lastSun 2&amp;#58;00s &amp;#61; &amp;#39;s&amp;#39; means &amp;#39;local standard time&amp;#39;&amp;#41;&amp;#58; when standard time is switching to DST, .ToUniversalTime acts correctly. This is probably because at this point local actual time and local standard time are the same&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;00&amp;#58;00 PM&amp;#39;     &amp;#60;- switchover is correct&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;6. Europe&amp;#47;Moscow &amp;#40;Mar lastSun 2&amp;#58;00s &amp;#61; &amp;#39;s&amp;#39; means &amp;#39;local standard time&amp;#39;&amp;#41;&amp;#58; when DST is switching to standard time, .ToUniversalTime acts as if the switchover time rule is expressed in local time and not in local standard time&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 9&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 9&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 11&amp;#58;00&amp;#58;00 PM&amp;#39;     &amp;#60;- switchover occurs here &amp;#40;01&amp;#58;00 &amp;#39;standard time&amp;#39;&amp;#41;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 11&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 03&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007&amp;#39;                         &amp;#60;- and should occur here &amp;#40;02&amp;#58;00 &amp;#39;standard time&amp;#39;&amp;#41;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 03&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 12&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;7. Europe&amp;#47;Moscow &amp;#40;Mar lastSun 2&amp;#58;00s &amp;#61; &amp;#39;s&amp;#39; means &amp;#39;local standard time&amp;#39;&amp;#41;&amp;#58; ToLocalTime acts as if the switchover time is expressed in UTC and not local standard time&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-24 23&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 2&amp;#58;00&amp;#58;00 AM&amp;#39;         &amp;#60;- switchover should occur here &amp;#40;2&amp;#58;00 &amp;#39;standard time&amp;#39;&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 4&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 4&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 6&amp;#58;00&amp;#58;00 AM&amp;#39;         &amp;#60;- instead of here &amp;#40;2&amp;#58;00 UTC&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 6&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;Example 2&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-27 23&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 3&amp;#58;00&amp;#58;00 AM&amp;#39;         &amp;#60;- switchover should occur here &amp;#40;2&amp;#58;00 &amp;#39;standard time&amp;#39; or 3&amp;#58;00 local actual time&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;00&amp;#58;00 AM&amp;#39;        &amp;#60;- instead of here &amp;#40;2&amp;#58;00 UTC&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;8. Related issue&amp;#58; zone.GetDaylightChanges doesn&amp;#39;t appear to indicate whether the switchover datetime is UTC, local current time, or local standard time. It might be useful to accept a parameter in this method that specifies which of the 3 times one wants returned. Or, constrain it to UTC&amp;#63; Personally, I don&amp;#39;t need this, but it will probably come up as an issue for someone&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.GetDaylightChanges&amp;#40;2007&amp;#41;.Start&amp;#58; &amp;#39;3&amp;#47;11&amp;#47;2007 2&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;Thanks in advance.&lt;br /&gt;</description><author>MARIOIGREC</author><pubDate>Fri, 14 Jun 2013 06:47:08 GMT</pubDate><guid isPermaLink="false">Reopened Issue: Time zone remaining ToUniversalTime and ToLocalTime issues [12480] 20130614064708A</guid></item><item><title>Reopened Issue: Problems getting correct time zone abbreviation [12541]</title><link>http://publicdomain.codeplex.com/workitem/12541</link><description>I  am writing code in VB.NET and I am having problems getting the correct time zone abbreviation for dates that are not during daylight savings time. For instance I run the following code&amp;#58;  &lt;br /&gt; &lt;br /&gt;Dim startDate As Date &amp;#61; &amp;#34;1&amp;#47;1&amp;#47;2008 12&amp;#58;00&amp;#58;00&amp;#34;&lt;br /&gt;Dim abbrev As String&lt;br /&gt;abbrev &amp;#61; PublicDomain.TzTimeZone.GetTimeZone&amp;#40;&amp;#34;America&amp;#47;Denver&amp;#34;&amp;#41;.GetAbbreviation&amp;#40;startDate&amp;#41;&lt;br /&gt; &lt;br /&gt;This code should set the abbrev variable to MST because 1&amp;#47;1&amp;#47;2008 is not during daylight saving time. However a value of MDT is returned. I would appreciate any assistance in getting this issue resolved. Thanks&lt;br /&gt;</description><author>schizoidboy</author><pubDate>Fri, 14 Jun 2013 06:47:08 GMT</pubDate><guid isPermaLink="false">Reopened Issue: Problems getting correct time zone abbreviation [12541] 20130614064708A</guid></item><item><title>Reopened Issue: ObjectUtilities.SerializeObjectToBinary(object o) is returning wrong buffer. [12958]</title><link>http://publicdomain.codeplex.com/workitem/12958</link><description>The ObjectUtilities.SerializeObjectToBinary&amp;#40;object o&amp;#41; function is returning the buffer obtained via MemoryStream.GetBuffer&amp;#40;&amp;#41; which is an internal buffer maintained by MemoryStream and is not supported to hold the exact serialized bytes &amp;#40;will contain extra bytes at the end&amp;#41;.  The fix would be to use MemoryStream.ToArray&amp;#40;&amp;#41; function.&lt;br /&gt;&amp;#160;&lt;br /&gt;The issue can be confirmed by comparing the return byte&amp;#91;&amp;#93; of GetBuffer&amp;#40;&amp;#41; and ToArray&amp;#40;&amp;#41; functions.  The former would be bigger than the latter as it would contain unused space at the end.&lt;br /&gt;&amp;#160;&lt;br /&gt;The current implementation might still work in most of the cases, but it is not the right thing by principle.&lt;br /&gt;</description><author>schizoidboy</author><pubDate>Fri, 14 Jun 2013 06:47:08 GMT</pubDate><guid isPermaLink="false">Reopened Issue: ObjectUtilities.SerializeObjectToBinary(object o) is returning wrong buffer. [12958] 20130614064708A</guid></item><item><title>Closed Issue: Wrong calculation of number in FileSizeRollOverStrategy.GetFileName() [12363]</title><link>http://publicdomain.codeplex.com/workitem/12363</link><description>The maximum integer number is not correctly calculated if the path to the logfile directory contains digit&amp;#40;s&amp;#41;. The code GetFileName&amp;#40;&amp;#41; should be changed to&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;        public string GetFileName&amp;#40;string fileName, LoggerSeverity severity, DateTime timestamp, object entry, object&amp;#91;&amp;#93; formatParameters, string logLine&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;                ...&lt;br /&gt;                int foundNumber &amp;#61; StringUtilities.ExtractFirstNumber&amp;#40;Path.GetFileName&amp;#40;foundFile&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                ...&lt;br /&gt;        &amp;#125;&lt;br /&gt;</description><author>schizoidboy</author><pubDate>Thu, 16 May 2013 06:58:35 GMT</pubDate><guid isPermaLink="false">Closed Issue: Wrong calculation of number in FileSizeRollOverStrategy.GetFileName() [12363] 20130516065835A</guid></item><item><title>Closed Issue: Time zone remaining ToUniversalTime and ToLocalTime issues [12480]</title><link>http://publicdomain.codeplex.com/workitem/12480</link><description>Sorry about the delay in my response. I tested your last round of fixes and we are now much closer to having it working right.&lt;br /&gt;&amp;#160;&lt;br /&gt;Thanks for letting me know about DateTimeKind.Utc. I made DateTimeKind explicit in all my tests, for example&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;New DateTime&amp;#40;DateTime.Parse&amp;#40;&amp;#34;2008-03-30 00&amp;#58;00&amp;#34;&amp;#41;.Ticks, DateTimeKind.Local&amp;#41;&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;You said &amp;#34;Also, I don&amp;#39;t think the ToLocalTime tests are really valid on the boundary cases.&amp;#34; I know, you should never have a case of &amp;#39;2006-04-02 02&amp;#58;30&amp;#39; in America&amp;#47;Chicago time zone since 2 am becomes 3 am, creating an hour &amp;#39;hole&amp;#39;. I think you are doing the right thing in this case by applying the DST rule and not worrying about this &amp;#34;invalid&amp;#34; hour&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#9;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;The same &amp;#40;repeated hour&amp;#41; issue affects .ToLocalTime when DST goes off. Again, you are doing the right thing IMO.&lt;br /&gt;&amp;#160;&lt;br /&gt;The remaining issues revolve around the interpretation of the DST switchover time rule. The Olsen database uses several letters to indicate how the DST switch time should be interpreted. Here are a few examples&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#9;---------------------------------------------------&lt;br /&gt;&amp;#9;DST rule name Valid on&amp;#47;off Date Time Offset &lt;br /&gt;&amp;#9;---------------------------------------------------&lt;br /&gt;No letter&amp;#58;&lt;br /&gt;&amp;#9;US &amp;#62;&amp;#61; 2007 on Mar Sun&amp;#62;&amp;#61;8 2&amp;#58;00 1&amp;#58;00 &lt;br /&gt;&amp;#39;u&amp;#39;&amp;#58;&lt;br /&gt;&amp;#9;EU on Mar lastSun 1&amp;#58;00u 1&amp;#58;00 &lt;br /&gt;&amp;#39;s&amp;#39;&amp;#58;&lt;br /&gt;&amp;#9;Russia on Mar lastSun 2&amp;#58;00s 1&amp;#58;00 &lt;br /&gt;&amp;#160;&lt;br /&gt;The key to interpreting the letter is &amp;#40;see http&amp;#58;&amp;#47;&amp;#47;home.tiscali.nl&amp;#47;&amp;#126;t876506&amp;#47;TZworld.html&amp;#41;&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;no letter or w&amp;#58; wall clock time, actual local time.&lt;br /&gt;s&amp;#58; local standard time &amp;#40;winter time&amp;#41;&lt;br /&gt;u or g or z&amp;#58; UTC time.&lt;br /&gt;So, if a &amp;#39;DST on&amp;#39; time is given as &amp;#39;2&amp;#58;00s&amp;#39;, this means a switch on 2&amp;#58;00 local time. If a &amp;#39;DST off&amp;#39; time is given as &amp;#39;2&amp;#58;00s&amp;#39;, this means a switch on 3&amp;#58;00 local time &amp;#40;assuming a DST offset of 1 hour&amp;#41;.&lt;br /&gt;&amp;#160;&lt;br /&gt;In zone.ToUniversalTime and zone.ToLocalTime, the switchover time is not always interpreted correctly. Here are the use cases. Please see a complete listing of use case results and the source code in the attached file &amp;#39;UTC Testing.rtf&amp;#39; to see the results for dates in different years.&lt;br /&gt;&amp;#160;&lt;br /&gt;1. America&amp;#47;Chicago &amp;#40;rule for 2006&amp;#58; Apr Sun&amp;#62;&amp;#61;1 2&amp;#58;00 &amp;#91;local time&amp;#93;&amp;#41;&amp;#58; ToUniversalTime switchover time is correct&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;00&amp;#58;00 AM&amp;#39;     &amp;#60;- switchover is correct&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 7&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;2. America&amp;#47;Chicago &amp;#40;rule for 2006&amp;#58; Apr Sun&amp;#62;&amp;#61;1 2&amp;#58;00 &amp;#91;local time&amp;#93;&amp;#41;&amp;#58; ToLocalTime interprets the switchover time as UTC &amp;#40;u&amp;#41; instead of local. The switch occurs at 2am UTC time &amp;#40;9 pm on the preceding day local time&amp;#41; instead of 8 am UTC time &amp;#40;2 am local&amp;#41;&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 7&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 9&amp;#58;00&amp;#58;00 PM&amp;#39;     &amp;#60;- switchover occurs here &amp;#40;2&amp;#58;00 UTC&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 9&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 03&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;1&amp;#47;2006 10&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 07&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 2&amp;#58;00&amp;#58;00 AM&amp;#39;     &amp;#60;- instead of here &amp;#40;2&amp;#58;00 local actual time&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2006-04-02 07&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;4&amp;#47;2&amp;#47;2006 2&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;3. Europe&amp;#47;Paris &amp;#40;Mar lastSun 1&amp;#58;00u - &amp;#39;u&amp;#39; means &amp;#39;UTC&amp;#39;&amp;#41;&amp;#58; ToUniversalTime acts as if the switchover time is expressed in local time&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;00&amp;#58;00 PM&amp;#39;    &amp;#60;- switchover occurs here &amp;#40;1&amp;#58;00 local time&amp;#41;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 11&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007&amp;#39;                        &amp;#60;- and should occur of here &amp;#40;1&amp;#58;00 UTC&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;4. Europ&amp;#47;Paris &amp;#40;Mar lastSun 1&amp;#58;00u - &amp;#39;u&amp;#39; means &amp;#39;UTC&amp;#39;&amp;#41;&amp;#58; ToLocalTime switchover time is correct&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 1&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 00&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 1&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 3&amp;#58;00&amp;#58;00 AM&amp;#39;      &amp;#60;- switchover is correct&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 3&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;5. Europe&amp;#47;Moscow &amp;#40;Mar lastSun 2&amp;#58;00s &amp;#61; &amp;#39;s&amp;#39; means &amp;#39;local standard time&amp;#39;&amp;#41;&amp;#58; when standard time is switching to DST, .ToUniversalTime acts correctly. This is probably because at this point local actual time and local standard time are the same&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;00&amp;#58;00 PM&amp;#39;     &amp;#60;- switchover is correct&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;24&amp;#47;2007 10&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;6. Europe&amp;#47;Moscow &amp;#40;Mar lastSun 2&amp;#58;00s &amp;#61; &amp;#39;s&amp;#39; means &amp;#39;local standard time&amp;#39;&amp;#41;&amp;#58; when DST is switching to standard time, .ToUniversalTime acts as if the switchover time rule is expressed in local time and not in local standard time&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 9&amp;#58;00&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 9&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 11&amp;#58;00&amp;#58;00 PM&amp;#39;     &amp;#60;- switchover occurs here &amp;#40;01&amp;#58;00 &amp;#39;standard time&amp;#39;&amp;#41;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;27&amp;#47;2007 11&amp;#58;30&amp;#58;00 PM&amp;#39;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 03&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007&amp;#39;                         &amp;#60;- and should occur here &amp;#40;02&amp;#58;00 &amp;#39;standard time&amp;#39;&amp;#41;&lt;br /&gt;zone.ToUniversalTime&amp;#40;&amp;#39;2007-10-28 03&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 12&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;7. Europe&amp;#47;Moscow &amp;#40;Mar lastSun 2&amp;#58;00s &amp;#61; &amp;#39;s&amp;#39; means &amp;#39;local standard time&amp;#39;&amp;#41;&amp;#58; ToLocalTime acts as if the switchover time is expressed in UTC and not local standard time&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-24 23&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 2&amp;#58;00&amp;#58;00 AM&amp;#39;         &amp;#60;- switchover should occur here &amp;#40;2&amp;#58;00 &amp;#39;standard time&amp;#39;&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 4&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 4&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 6&amp;#58;00&amp;#58;00 AM&amp;#39;         &amp;#60;- instead of here &amp;#40;2&amp;#58;00 UTC&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-03-25 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;3&amp;#47;25&amp;#47;2007 6&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;Example 2&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-27 23&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 3&amp;#58;00&amp;#58;00 AM&amp;#39;         &amp;#60;- switchover should occur here &amp;#40;2&amp;#58;00 &amp;#39;standard time&amp;#39; or 3&amp;#58;00 local actual time&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 01&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;00&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;00&amp;#58;00 AM&amp;#39;        &amp;#60;- instead of here &amp;#40;2&amp;#58;00 UTC&amp;#41;&lt;br /&gt;zone.ToLocalTime&amp;#40;&amp;#39;2007-10-28 02&amp;#58;30&amp;#39;&amp;#41;&amp;#58; &amp;#39;10&amp;#47;28&amp;#47;2007 5&amp;#58;30&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;8. Related issue&amp;#58; zone.GetDaylightChanges doesn&amp;#39;t appear to indicate whether the switchover datetime is UTC, local current time, or local standard time. It might be useful to accept a parameter in this method that specifies which of the 3 times one wants returned. Or, constrain it to UTC&amp;#63; Personally, I don&amp;#39;t need this, but it will probably come up as an issue for someone&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;zone.GetDaylightChanges&amp;#40;2007&amp;#41;.Start&amp;#58; &amp;#39;3&amp;#47;11&amp;#47;2007 2&amp;#58;00&amp;#58;00 AM&amp;#39;&lt;br /&gt;&amp;#160;&lt;br /&gt;Thanks in advance.&lt;br /&gt;</description><author>MARIOIGREC</author><pubDate>Thu, 16 May 2013 06:58:34 GMT</pubDate><guid isPermaLink="false">Closed Issue: Time zone remaining ToUniversalTime and ToLocalTime issues [12480] 20130516065834A</guid></item><item><title>Closed Issue: Problems getting correct time zone abbreviation [12541]</title><link>http://publicdomain.codeplex.com/workitem/12541</link><description>I  am writing code in VB.NET and I am having problems getting the correct time zone abbreviation for dates that are not during daylight savings time. For instance I run the following code&amp;#58;  &lt;br /&gt; &lt;br /&gt;Dim startDate As Date &amp;#61; &amp;#34;1&amp;#47;1&amp;#47;2008 12&amp;#58;00&amp;#58;00&amp;#34;&lt;br /&gt;Dim abbrev As String&lt;br /&gt;abbrev &amp;#61; PublicDomain.TzTimeZone.GetTimeZone&amp;#40;&amp;#34;America&amp;#47;Denver&amp;#34;&amp;#41;.GetAbbreviation&amp;#40;startDate&amp;#41;&lt;br /&gt; &lt;br /&gt;This code should set the abbrev variable to MST because 1&amp;#47;1&amp;#47;2008 is not during daylight saving time. However a value of MDT is returned. I would appreciate any assistance in getting this issue resolved. Thanks&lt;br /&gt;</description><author>schizoidboy</author><pubDate>Thu, 16 May 2013 06:58:34 GMT</pubDate><guid isPermaLink="false">Closed Issue: Problems getting correct time zone abbreviation [12541] 20130516065834A</guid></item><item><title>Closed Issue: ObjectUtilities.SerializeObjectToBinary(object o) is returning wrong buffer. [12958]</title><link>http://publicdomain.codeplex.com/workitem/12958</link><description>The ObjectUtilities.SerializeObjectToBinary&amp;#40;object o&amp;#41; function is returning the buffer obtained via MemoryStream.GetBuffer&amp;#40;&amp;#41; which is an internal buffer maintained by MemoryStream and is not supported to hold the exact serialized bytes &amp;#40;will contain extra bytes at the end&amp;#41;.  The fix would be to use MemoryStream.ToArray&amp;#40;&amp;#41; function.&lt;br /&gt;&amp;#160;&lt;br /&gt;The issue can be confirmed by comparing the return byte&amp;#91;&amp;#93; of GetBuffer&amp;#40;&amp;#41; and ToArray&amp;#40;&amp;#41; functions.  The former would be bigger than the latter as it would contain unused space at the end.&lt;br /&gt;&amp;#160;&lt;br /&gt;The current implementation might still work in most of the cases, but it is not the right thing by principle.&lt;br /&gt;</description><author>schizoidboy</author><pubDate>Thu, 16 May 2013 06:58:34 GMT</pubDate><guid isPermaLink="false">Closed Issue: ObjectUtilities.SerializeObjectToBinary(object o) is returning wrong buffer. [12958] 20130516065834A</guid></item><item><title>Source code checked in, #99885</title><link>http://publicdomain.codeplex.com/SourceControl/changeset/changes/99885</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:24:31 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99885 20121001092431P</guid></item><item><title>Source code checked in, #99884</title><link>http://publicdomain.codeplex.com/SourceControl/changeset/changes/99884</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:16:08 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99884 20121001091608P</guid></item><item><title>Commented Issue: Recent Olson Data Changes Crash Public Domain [22980]</title><link>http://publicdomain.codeplex.com/workitem/22980</link><description>The 2009h update has the following change...&lt;br /&gt;OLD&amp;#58; Rule&amp;#92;tJordan&amp;#92;t2002&amp;#92;tmax&amp;#92;t-&amp;#92;tMar&amp;#92;tlastFri&amp;#92;t0&amp;#58;00s&amp;#92;t1&amp;#58;00&amp;#92;tS&lt;br /&gt;NEW&amp;#58; Rule&amp;#92;tJordan&amp;#92;t2002&amp;#92;tmax&amp;#92;t-&amp;#92;tMar&amp;#92;tlastThu&amp;#92;t24&amp;#58;00&amp;#92;t1&amp;#58;00&amp;#92;tS&lt;br /&gt;&lt;br /&gt;The ParseTimeSpan function in DateTimeUtilities.cs chokes on this because TimeSpan.Parse can&amp;#39;t handle &amp;#34;24&amp;#58;00&amp;#34;.&lt;br /&gt;Comments: ** Comment from web user: mlmanfredi ** &lt;p&gt;Thanks for the suggestion. My current workaround for the problem is to alter the original value from 24&amp;#58;00 to 23&amp;#58;59&amp;#58;59. I don&amp;#39;t think the one second is going to make any difference for me.&lt;/p&gt;</description><author>mlmanfredi</author><pubDate>Wed, 23 Mar 2011 15:24:25 GMT</pubDate><guid isPermaLink="false">Commented Issue: Recent Olson Data Changes Crash Public Domain [22980] 20110323032425P</guid></item><item><title>Commented Issue: Recent Olson Data Changes Crash Public Domain [22980]</title><link>http://publicdomain.codeplex.com/workitem/22980</link><description>The 2009h update has the following change...&lt;br /&gt;OLD&amp;#58; Rule&amp;#92;tJordan&amp;#92;t2002&amp;#92;tmax&amp;#92;t-&amp;#92;tMar&amp;#92;tlastFri&amp;#92;t0&amp;#58;00s&amp;#92;t1&amp;#58;00&amp;#92;tS&lt;br /&gt;NEW&amp;#58; Rule&amp;#92;tJordan&amp;#92;t2002&amp;#92;tmax&amp;#92;t-&amp;#92;tMar&amp;#92;tlastThu&amp;#92;t24&amp;#58;00&amp;#92;t1&amp;#58;00&amp;#92;tS&lt;br /&gt;&lt;br /&gt;The ParseTimeSpan function in DateTimeUtilities.cs chokes on this because TimeSpan.Parse can&amp;#39;t handle &amp;#34;24&amp;#58;00&amp;#34;.&lt;br /&gt;Comments: ** Comment from web user: bbell2000 ** &lt;p&gt;There are two ways to get around this issue.  The first way is to edit tzdata&amp;#92;asia to apply year-specific rules for the years in which Apr 1 occurs on a Friday. This is the same approach used in tzdata&amp;#92;northamerica to get around the same issue in the Mont rules for 1927-1937.&lt;/p&gt;&lt;p&gt;&amp;#9;&amp;#35; The 2006-to-max rules can be expressed more simply as&lt;br /&gt;&amp;#9;&amp;#35; Rule&amp;#9;Jordan&amp;#9;2002&amp;#9;max&amp;#9;-&amp;#9;Mar&amp;#9;lastThu&amp;#9;24&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;&amp;#35; The rules below avoid use of 24&amp;#58;00 through 2051&lt;br /&gt;&amp;#9;&amp;#35; &amp;#40;which TimeZone.Parse cant handle&amp;#41;.&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2002&amp;#9;2004&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2003&amp;#9;only&amp;#9;-&amp;#9;Oct&amp;#9;24&amp;#9;0&amp;#58;00s&amp;#9;0&amp;#9;-&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2004&amp;#9;only&amp;#9;-&amp;#9;Oct&amp;#9;15&amp;#9;0&amp;#58;00s&amp;#9;0&amp;#9;-&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2005&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2005&amp;#9;only&amp;#9;-&amp;#9;Sep&amp;#9;lastFri&amp;#9;0&amp;#58;00s&amp;#9;0&amp;#9;-&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2006&amp;#9;2010&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2006&amp;#9;max&amp;#9;-&amp;#9;Oct&amp;#9;lastFri&amp;#9;0&amp;#58;00s&amp;#9;0&amp;#9;-&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2011&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2012&amp;#9;2015&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2016&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2017&amp;#9;2021&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2022&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2023&amp;#9;2032&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2033&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2034&amp;#9;2038&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2039&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2040&amp;#9;2043&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2044&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2045&amp;#9;2049&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2050&amp;#9;only&amp;#9;-&amp;#9;Apr&amp;#9;1&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;br /&gt;&amp;#9;Rule&amp;#9;Jordan&amp;#9;2051&amp;#9;max&amp;#9;-&amp;#9;Mar&amp;#9;lastFri&amp;#9;0&amp;#58;00&amp;#9;1&amp;#58;00&amp;#9;S&lt;/p&gt;&lt;p&gt;The second way is to change DateTimeUtilities.cs&amp;#58;&lt;/p&gt;&lt;p&gt;&amp;#9;public static bool TryParseTimeSpan&amp;#40;string timeSpan, TimeSpanAssumption noColonAssumption, out TimeSpan result&amp;#41;&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;    if &amp;#40;timeSpan &amp;#33;&amp;#61; null &amp;#38;&amp;#38; timeSpan&amp;#91;0&amp;#93; &amp;#61;&amp;#61; &amp;#39;&amp;#43;&amp;#39;&amp;#41;&lt;br /&gt;&amp;#9;    &amp;#123;&lt;br /&gt;&amp;#9;        timeSpan &amp;#61; timeSpan.Substring&amp;#40;1&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;    &amp;#125;&lt;/p&gt;&lt;p&gt;&amp;#9;    timeSpan &amp;#61; ParseTimeSpanAssumptions&amp;#40;timeSpan, noColonAssumption&amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;&amp;#9;    if &amp;#40;&amp;#33;TimeSpan.TryParse&amp;#40;timeSpan, out result&amp;#41;&amp;#41;&lt;br /&gt;&amp;#9;    &amp;#123;&lt;br /&gt;&amp;#9;        timeSpan &amp;#61; timeSpan.Replace&amp;#40;&amp;#34;24&amp;#58;00&amp;#34;, &amp;#34;1.00&amp;#58;00&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;        return TimeSpan.TryParse&amp;#40;timeSpan, out result&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;    &amp;#125;&lt;/p&gt;&lt;p&gt;&amp;#9;    return true&amp;#59;&lt;br /&gt;&amp;#9;&amp;#125;&lt;/p&gt;&lt;p&gt;&amp;#9;public static TimeSpan ParseTimeSpan&amp;#40;string timeSpan, TimeSpanAssumption noColonAssumption&amp;#41;&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;    if &amp;#40;timeSpan &amp;#33;&amp;#61; null &amp;#38;&amp;#38; timeSpan&amp;#91;0&amp;#93; &amp;#61;&amp;#61; &amp;#39;&amp;#43;&amp;#39;&amp;#41;&lt;br /&gt;&amp;#9;    &amp;#123;&lt;br /&gt;&amp;#9;        timeSpan &amp;#61; timeSpan.Substring&amp;#40;1&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;    &amp;#125;&lt;/p&gt;&lt;p&gt;&amp;#9;    timeSpan &amp;#61; ParseTimeSpanAssumptions&amp;#40;timeSpan, noColonAssumption&amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;&amp;#9;    TimeSpan result&amp;#59;&lt;br /&gt;&amp;#9;    if &amp;#40;&amp;#33;TimeSpan.TryParse&amp;#40;timeSpan, out result&amp;#41;&amp;#41;&lt;br /&gt;&amp;#9;    &amp;#123;&lt;br /&gt;&amp;#9;        timeSpan &amp;#61; timeSpan.Replace&amp;#40;&amp;#34;24&amp;#58;00&amp;#34;, &amp;#34;1.00&amp;#58;00&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;        result &amp;#61; TimeSpan.Parse&amp;#40;timeSpan&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;    &amp;#125;&lt;/p&gt;&lt;p&gt;&amp;#9;    return result&amp;#59;&lt;br /&gt;&amp;#9;&amp;#125;&lt;/p&gt;&lt;p&gt;Either way, it&amp;#39;s a hack. YMMV.&lt;br /&gt;&lt;/p&gt;</description><author>bbell2000</author><pubDate>Sat, 19 Mar 2011 15:12:58 GMT</pubDate><guid isPermaLink="false">Commented Issue: Recent Olson Data Changes Crash Public Domain [22980] 20110319031258P</guid></item><item><title>New Post: warning CS1734: XML comment </title><link>http://publicdomain.codeplex.com/Thread/View.aspx?ThreadId=238862</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;There just some methods that have xml comment errors. How can I modify the online code to fix those errors?&lt;/p&gt;
&lt;/div&gt;</description><author>orellabac</author><pubDate>Sat, 18 Dec 2010 21:45:01 GMT</pubDate><guid isPermaLink="false">New Post: warning CS1734: XML comment  20101218094501P</guid></item><item><title>New Post: warning CS1734: XML comment </title><link>http://publicdomain.codeplex.com/Thread/View.aspx?ThreadId=238862</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;There just some methods that have xml comment errors. How can I modify the online code to fix those errors?&lt;/p&gt;
&lt;/div&gt;</description><author>orellabac</author><pubDate>Sat, 18 Dec 2010 21:45:01 GMT</pubDate><guid isPermaLink="false">New Post: warning CS1734: XML comment  20101218094501P</guid></item><item><title>Source code checked in, #74794</title><link>http://publicdomain.codeplex.com/SourceControl/changeset/changes/74794</link><description>Checked in by server upgrade</description><author>_TFSSERVICE</author><pubDate>Tue, 03 Aug 2010 19:44:57 GMT</pubDate><guid isPermaLink="false">Source code checked in, #74794 20100803074457P</guid></item><item><title>New Post: Changed location for external link</title><link>http://publicdomain.codeplex.com/Thread/View.aspx?ThreadId=216024</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;The referenced codeproject article &amp;quot;&lt;em&gt;How to Use the Olson Time  Zone Database in .NET&lt;/em&gt;&amp;quot; is now at &lt;a title="http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx" href="http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx"&gt;http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It looks like they've restructured their site.&lt;/p&gt;&lt;/div&gt;</description><author>BruceClement</author><pubDate>Tue, 15 Jun 2010 01:26:19 GMT</pubDate><guid isPermaLink="false">New Post: Changed location for external link 20100615012619A</guid></item><item><title>New Post: Changed location for external link</title><link>http://publicdomain.codeplex.com/Thread/View.aspx?ThreadId=216024</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;The referenced codeproject article &amp;quot;&lt;em&gt;How to Use the Olson Time  Zone Database in .NET&lt;/em&gt;&amp;quot; is now at &lt;a title="http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx" href="http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx"&gt;http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It looks like they've restructured their site.&lt;/p&gt;&lt;/div&gt;</description><author>BruceClement</author><pubDate>Tue, 15 Jun 2010 01:26:19 GMT</pubDate><guid isPermaLink="false">New Post: Changed location for external link 20100615012619A</guid></item><item><title>New Post: Changed location for external link</title><link>http://publicdomain.codeplex.com/Thread/View.aspx?ThreadId=216024</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;The referenced codeproject article &amp;quot;&lt;em&gt;How to Use the Olson Time  Zone Database in .NET&lt;/em&gt;&amp;quot; is now at &lt;a title="http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx" href="http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx"&gt;http://www.codeproject.com/KB/dotnet/Using_time_zones_in_NET.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It looks like they've restructured their site.&lt;/p&gt;&lt;/div&gt;</description><author>BruceClement</author><pubDate>Tue, 15 Jun 2010 01:26:19 GMT</pubDate><guid isPermaLink="false">New Post: Changed location for external link 20100615012619A</guid></item><item><title>New Post: DST offset wrong for southern hemisphere</title><link>http://publicdomain.codeplex.com/Thread/View.aspx?ThreadId=68541</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;A while back I reported an issue with DST for southern hemisphere locations. Originally, in version 0.2.30.0, DST start and end dates were reversed. For example, today on Sep 10, 2009, Canberra, Melbourne, Sydney location, which normally has GTM +10:00 would return:&lt;/p&gt;
&lt;p&gt;- DST: On (incorrect)&lt;br&gt;- DST Offset: +01:00 (incorrect)&lt;br&gt;- DST Starts: 2009-04-05 03:00 (incorrect)&lt;br&gt;- DST Ends: 2009-10-04 02:00 (incorrect)&lt;br&gt;- Time Zone Offset from GMT: +10:00 (correct)&lt;/p&gt;
&lt;p&gt;The fix, which is the most recent version (0.2.47.0), looks like this:&lt;/p&gt;
&lt;p&gt;- DST: Off (correct)&lt;br&gt;- DST Offset: 00:00 (correct)&lt;br&gt;- DST Starts: 2009-10-04 02:00 (correct)&lt;br&gt;- DST Ends: 2009-04-05 03:00 (correct)&lt;br&gt;- Time Zone Offset from GMT: +11:00 hours (incorrect)&lt;/p&gt;
&lt;p&gt;From what I see, this affects all southern hemisphere time zones with DST (fortunately there aren't that many). You may want to be aware of this and correct the wrong values in your code.&lt;/p&gt;
&lt;p&gt;Here are PublicDomain.TzTimeZone methods that demonstrate how I get each of the above values. I took these out of my Time Zone test page where I have a lot of additional code, so I haven't tested these raw calls. You may have to replace now with a datetime variable which you explicitly set to local or UTC with DateTime.SpecifyKind(dtVariable, DateTimeKind.Local).&lt;/p&gt;
&lt;p&gt;Dim zone As PublicDomain.TzTimeZone&lt;br&gt;Dim sZone as string&lt;br&gt;sZone = &amp;quot;Australia/Melbourne&amp;quot;&lt;br&gt;'sZone = &amp;quot;America/Sao_Paulo&amp;quot;&lt;br&gt;zone = PublicDomain.TzTimeZone.GetTimeZone(sZone)&lt;br&gt;'Time Zone Offset from GMT: zone.GetUtcOffset(now)&lt;br&gt;'DST: zone.IsDaylightSavingTime(now)&lt;br&gt;'DST Offset: zone.GetDaylightChanges(now.year).Delta.Hours.ToString &amp;amp; &amp;quot;:&amp;quot; &amp;amp; zone.GetDaylightChanges(2009).Delta.Minutes.ToString&lt;br&gt;'DST Starts: zone.GetDaylightChanges(now.year).Start&lt;br&gt;'DST Ends: zone.GetDaylightChanges(now.year).End&lt;/p&gt;&lt;/div&gt;</description><author>MARIOIGREC</author><pubDate>Thu, 10 Sep 2009 15:23:01 GMT</pubDate><guid isPermaLink="false">New Post: DST offset wrong for southern hemisphere 20090910032301P</guid></item><item><title>New Post: DST offset wrong for southern hemisphere</title><link>http://publicdomain.codeplex.com/Thread/View.aspx?ThreadId=68541</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;A while back I reported an issue with DST for southern hemisphere locations. Originally, in version 0.2.30.0, DST start and end dates were reversed. For example, today on Sep 10, 2009, Canberra, Melbourne, Sydney location, which normally has GTM +10:00 would return:&lt;/p&gt;
&lt;p&gt;- DST: On (incorrect)&lt;br&gt;- DST Offset: +01:00 (incorrect)&lt;br&gt;- DST Starts: 2009-04-05 03:00 (incorrect)&lt;br&gt;- DST Ends: 2009-10-04 02:00 (incorrect)&lt;br&gt;- Time Zone Offset from GMT: +10:00 (correct)&lt;/p&gt;
&lt;p&gt;The fix, which is the most recent version (0.2.47.0), looks like this:&lt;/p&gt;
&lt;p&gt;- DST: Off (correct)&lt;br&gt;- DST Offset: 00:00 (correct)&lt;br&gt;- DST Starts: 2009-10-04 02:00 (correct)&lt;br&gt;- DST Ends: 2009-04-05 03:00 (correct)&lt;br&gt;- Time Zone Offset from GMT: +11:00 hours (incorrect)&lt;/p&gt;
&lt;p&gt;From what I see, this affects all southern hemisphere time zones with DST (fortunately there aren't that many). You may want to be aware of this and correct the wrong values in your code.&lt;/p&gt;
&lt;p&gt;Here are PublicDomain.TzTimeZone methods that demonstrate how I get each of the above values. I took these out of my Time Zone test page where I have a lot of additional code, so I haven't tested these raw calls. You may have to replace now with a datetime variable which you explicitly set to local or UTC with DateTime.SpecifyKind(dtVariable, DateTimeKind.Local).&lt;/p&gt;
&lt;p&gt;Dim zone As PublicDomain.TzTimeZone&lt;br&gt;Dim sZone as string&lt;br&gt;sZone = &amp;quot;Australia/Melbourne&amp;quot;&lt;br&gt;'sZone = &amp;quot;America/Sao_Paulo&amp;quot;&lt;br&gt;zone = PublicDomain.TzTimeZone.GetTimeZone(sZone)&lt;br&gt;'Time Zone Offset from GMT: zone.GetUtcOffset(now)&lt;br&gt;'DST: zone.IsDaylightSavingTime(now)&lt;br&gt;'DST Offset: zone.GetDaylightChanges(now.year).Delta.Hours.ToString &amp;amp; &amp;quot;:&amp;quot; &amp;amp; zone.GetDaylightChanges(2009).Delta.Minutes.ToString&lt;br&gt;'DST Starts: zone.GetDaylightChanges(now.year).Start&lt;br&gt;'DST Ends: zone.GetDaylightChanges(now.year).End&lt;/p&gt;&lt;/div&gt;</description><author>MARIOIGREC</author><pubDate>Thu, 10 Sep 2009 15:23:01 GMT</pubDate><guid isPermaLink="false">New Post: DST offset wrong for southern hemisphere 20090910032301P</guid></item></channel></rss>