@RameshRajendran here is an article and some code from the article that I'm sure will not complete your project.
But hopefully it with help you see it from a different perspective.
As @varocarbas pointed out it will serve you well to create a table to store your final compiled info.
Link to article:
http://msdn.microsoft.com/en-us/library/vstudio/bb397781(v=vs.110).aspx
You can use the SupportsDaylightSavingTime property to see if there are rules for the timezone.
You can also use the Object Browser in Visual Studio to see the members of the System.TimeZoneInfo.
I tested this with the following in the index ActionResult of the controller and the html helper in the index view.
Again, This is just to help you see your way past the 'Lots of work' block you seem to be uncomfortable with.
I've written this code using c#, but I'm sure you'll have no trouble creating the equivilant in VB.
[ Controller ]
// Sample code from the article.
// Note: the collection only contains full hour offsets (i.e. New Delhi is in a half hour zone)
ReadOnlyCollection<TimeZoneInfo> tzCollection;
tzCollection = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo timeZone in tzCollection)
{
Console.WriteLine(" {0}: {1}", timeZone.Id, timeZone.DisplayName);
}
// My modified version of its use.
// this code will create a dropdownlist with all the timezones available on my machine.
var theTimesInfo = new List<TimeZoneInfo>(tzCollection);
var theZones = new SelectList(theTimesInfo, "Id", "DisplayName", 1);
ViewData["theZones"] = theZones;
string myLocalZone = "Eastern Standard Time";
TimeZoneInfo myLocalDateTime = TimeZoneInfo.FindSystemTimeZoneById(myLocalZone);
string theZoneSelected = Request.QueryString.Get("theZones");
if (theZoneSelected == string.Empty || theZoneSelected == null)
{
theZoneSelected = myLocalZone;
}
TimeZoneInfo selectedTimeZone = TimeZoneInfo.FindSystemTimeZoneById(theZoneSelected);
DateTime CurrentTimeZoneDateAndTime = TimeZoneInfo.ConvertTime((DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified)), myLocalDateTime, selectedTimeZone);
ViewBag.CurrentTimeZoneSelected = selectedTimeZone.DisplayName.ToString();
ViewBag.CurrentDateTimeSelected = CurrentTimeZoneDateAndTime.ToString();
[updated] edited the view code to show the values returned.
[ View ]
<p>
The Select TimeZone is: @ViewBag.CurrentTimeZoneSelected<br />
The current Date and Time for the Selected TimeZone is: @ViewBag.CurrentDateTimeSelected
</p>
<form>
@Html.DropDownList("theZones", ViewData["theZones"] as SelectList)
<input type="submit" name="submit" value="Select This Time Zone" />
</form>
You can use the foreach loop to iterate through the collection and add it to your db table.
Then if you need to, you can add individual entries to the table, or adjust the +- as needed.