The simple fact is that if you want use data in multiple time zones then it should be stored as UTC. You can then convert it to local time at each individual location.

.NET has no specific support for time zones other than to be able to convert between UTC and local time. There's no in-built way to switch to a specific time zone, so you're just going to have to perform a manual calculation. Someone created a TimeZoneInfo class and posted in the VB.NET CodeBank forum. You may find that helpful in that regard.