TimeSpan.TryParse(datewise + ":" + "00", out _timeOfDay);
var asd = _dt.ToString().Split(new string[] { " " }, StringSplitOptions.None);
var _newdatetime = asd[0] + " " + _timeOfDay;
DateTime oldTime = Convert.ToDateTime(_newdatetime);
TimeZoneInfo timeZone1 = TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time");
TimeZoneInfo timeZone2 = TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id);
DateTime newTime = TimeZoneInfo.ConvertTime(oldTime, timeZone1, timeZone2);
DateTime new_Time = TimeZoneInfo.ConvertTimeFromUtc(oldTime, timeZone2);
TimeSpan timeOfDay = new TimeSpan();
TimeSpan.TryParse(newTime.ToString(), out timeOfDay);
new DateTime(newTime.Ticks).ToString("H tt");
new DateTime(new_Time.Ticks).ToString("H tt");
http://forums.devshed.com/net-development-87/unix-time-in-c-123865.html
Storing date time in at least GMT, Utc time zone makes transition simpler requiring adjustments by the time zone only. Storing using unix time stamp make the conversion a mathematical function of adding or subtracting the tz value.