如何在c#asp.net中找到不同文化的当前时间,即不同的时区?

How to find Current Time of different culture i.e different timezone in c# asp.net?

DateTime.Now给出了当前系统的当前日期和时间。
我们如何使用c#asp.net找到不同文化的Current Time,即不同的时区???
我找到SystemTimeToTzSpecificLocalTime Function但我怎么能用这个?


如果您使用的是.NET 3.5或更高版本,则可以使用TimeZoneInfo

1
2
TimeZoneInfo otherZone = ...;
DateTime otherZoneTimeNow = TimeZoneInfo.ConvertTime(DateTime.UtcNow, otherZone);

你需要小心使用TimeZoneInfo - 不同的DateTime"种类"做不同的事情 - 你应该仔细阅读你所做的任何电话的文档。 (我最近在博客上写了关于DateTime的问题...... TimeZoneInfo基本上要处理歧义。)


你可以使用像Yahoo!这样的服务。 Web Services API,用于提取此信息等。 您可以通过Yahoo!获取时区,当地时间,人口等。 Web服务API。 这种方法的最大缺点是每日最大命中数。

您可以查看此链接以获取更多详细信息:

http://developer.yahoo.com/flash/maps/classreference/com/yahoo/maps/webservices/geocoder/GeocoderResult.html