Benjamin The Donkey wrote:
How do I convert Date to another TimeZone in C#? I am using .NET 1.1
right now.
3 solutions:
1) wait for .NET 3.5
see
http://msdn2.microsoft.com/en-us/lib...rs(VS.90).aspx
2) sniff in registry
code snippet:
public static int GetUTCOffset1(string target)
{
RegistryKey tzs =
Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenS ubKey("Microsoft").OpenSubKey("Windows
NT").OpenSubKey("CurrentVersion").OpenSubKey("Ti me Zones");
foreach(string tzn in tzs.GetSubKeyNames())
{
if(tzn.Contains(target) ||
((string)tzs.OpenSubKey(tzn).GetValue("Display")). Contains(target))
{
return
-BitConverter.ToInt32((byte[])(tzs.OpenSubKey(tzn).GetValue("TZI")), 0);
}
}
throw new ArgumentException("Unknown timezone " + target);
}
3) use the Java support in vjslib
code snippet:
public static int GetUTCOffset2(string target)
{
java.util.TimeZone tz = java.util.TimeZone.getTimeZone(target);
return tz.getRawOffset() / 60000;
}
Arne
PS: There are a ton of additional problem in relation to summer time,
changes to/from summer time and historic dates, but the above should
get you started.