From: <tr...@do...> - 2013-02-02 14:16:11
|
<p>The following issue has been added to a project that you are monitoring.</p> <table border="0"> <tr> <td width="90px" valign="top"><b>Title:</b></td> <td>Wrong datetimes stored to Virtuoso when in daylight saving?</td> </tr> <tr> <td><b>Project:</b></td> <td>Data.Virtuoso (dotNetRDF.Data.Virtuoso.dll)</td> </tr> <tr> <td><b>Created By:</b></td> <td>Dimitri</td> </tr> <tr> <td><b>Milestone:</b></td> <td>none</td> </tr> <tr> <td><b>Category:</b></td> <td>Virtuoso Support</td> </tr> <tr> <td><b>Priority:</b></td> <td>Normal</td> </tr> <tr> <td><b>Type:</b></td> <td>Bug</td> </tr> <tr> <td><b>Description:</b></td> </tr> <tr> <td colspan="2"><p> </p> <div> I think I have found a problem that does not seem to come from the dotNetRdf code but from the Virtuoso ADO.NET provider or even perhaps Virtuoso itself.</div> <div> </div> <div> If I store datetime literals with the XmlSpecsHelper.XmlSchemaDataTypeDateTime suffix on Virtuoso, afterwards, when I read them either using JSON or the ADO.NET provider, the time values are wrong by an hour when the dates are within the daylight saving period (summer)</div> <div> </div> <div> I have written a unit test that demonstrates the problem and created a pull request for it (#15)</div> <div> </div> <div> I am in the +01.00 time zone (I live in Belgium), so I hope that it works the same for the other timezones as well. I have stepped through the code in debug mode. dotNetRdf seems to handle everything properly and then it sends the literal to the Virtuoso ADO.NET provider. On the virtuoso triple store however, if I have created the literal specifying the XmlSpecsHelper.XmlSchemaDataTypeDateTime data type, a +01.00 is added after the literal value. When in daylight saving, the value read back is wrong by an hour when parsed in .NET. I think that, for my time zone for example, the provider (or virtuoso itself?) should be suffixing the value with +2.00. Maybe there's nothing that can be done about it in dotNetRdf itself. Also, for me it's not such a big problem because I am now saving everything in UTC anyway. But in case a solution can be found, I hope that this unit test will help. If I am making a mistake somewhere, I would appreciate some feedback :)</div> <div> </div> <p> </p></td> </tr> </table> <p> More information on this issue can be found at <a href="http://www.dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=307" target="_blank">http://www.dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=307</a></p> <p style="text-align:center;font-size:8pt;padding:5px;"> If you no longer wish to receive notifications, please visit <a href="http://www.dotnetrdf.org/tracker/Account/UserProfile.aspx" target="_blank">your profile</a> and change your notifications options. </p> |