在Windows上以不同语言获取本地化日期时间字符串和时区名称

时间:2010-01-25 10:59:39

标签: c# c++ winapi localization timezone

是否有任何Windows API或语言功能(C ++,C#)以不同语言的本地化格式获取时间,日期和时区名称

编辑:在C#中,我可以获得日期和时间的本地化字符串,但似乎TimeZoneInfo没有本地化的字符串。我也没有在注册表中找到它。很可能你需要为自己翻译时区名称。

// Localize date for french
DateTime d = new DateTime.Now;
Console.WriteLine(d.ToString("D", new CultureInfo("fr-FR")));

3 个答案:

答案 0 :(得分:2)

查看GetTimeFormatGetDateFormatGetTimeZoneInformation功能。要获取时区的本地化名称,您似乎可能需要将其从注册表中删除。请参阅TIME_ZONE_INFORMATION structure的文档。

答案 1 :(得分:2)

至少从XP SP3开始,Win32 API GetTimeZoneInformation会生成本地化的名称。事实上,我发现这个问题的原因是我希望有一种方法可以将这些字符串强制转换成英文,因为我将它们放在调试日志中,我希望能够理解它们而不会让所有世界都能流利。自然语言。 : - )

答案 2 :(得分:0)