Parse date time c# with correct timezone and kind
<p>I have a datetime in database which I read using SqlDataReader and then cast it to <code>(DateTime)</code>. After the cast its <code>Kind</code> property is <code>DateTimeKind.Unspecified</code>.</p>

<p>Then I have another string which I read from some other source. Its format is like this <code>2016-01-20T22:20:29.055Z</code>. I do <code>DateTime.Parse("2016-01-20T22:20:29.055Z")</code> and its Kind property is DateTimeKind.Local. </p>

<p>How do I properly parse the both date times for comparison? Do I need to use DateTimeOffsets? How should I parse them?</p>

<p>Thanks</p>