Here is an annoying inconsistency within the SharePoint Object Model. In list items, you can easily retrieve the Created Date and Modified Date through the OM. It's also pretty easy to get the created date and time for different versions of a list item. What threw me off was that the Created Date and Modified Date of the current item are stored in the time zone set in the SharePoint Administration Web Site (ex: GMT -7) however; the date and times for previous versions are stored in GMT. I was stuck on this probably for longer than I should have been but it's still a maddening irregularity. Anyway; here is how I dealt with the problem...

 

foreach (SPListItemVersion currentVersion in listItem.Versions)
{
        versionDateString = currentVersion.Created.ToString();
        versionDate = DateTime.Parse(versionDateString);
        versionDate = versionDate.AddHours(-7);
}