【发布时间】:2012-06-19 10:42:33
【问题描述】:
如何在 C# 中获取不同国家的当前时间,使用以下任意参数, 1.国名 2.国家时区
这适用于 Windows / WPF 应用程序,不像 Web 有人可以回答这个吗? 提前致谢。
【问题讨论】:
-
这些东西是出售的。例如:timeanddate.com/services/api/time-api.html
标签: wpf windows c#-4.0 timezone
如何在 C# 中获取不同国家的当前时间,使用以下任意参数, 1.国名 2.国家时区
这适用于 Windows / WPF 应用程序,不像 Web 有人可以回答这个吗? 提前致谢。
【问题讨论】:
标签: wpf windows c#-4.0 timezone
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public class Example
{
public static void Main()
{
DateTime thisTime = DateTime.Now;
Console.WriteLine("Enter the Country");
var Input= Console.ReadLine();
string InputConcatenate = (Input + " Standard Time");
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById(InputConcatenate);
DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);
Console.WriteLine("Time in {0} zone: {1}", tst.IsDaylightSavingTime(tstTime) ?
tst.DaylightName : tst.StandardName, tstTime);
Console.WriteLine(" UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(tstTime, tst));
Console.ReadLine();
}
}
【讨论】:
您应该查看TimeZoneInfo 类,特别是TimeZoneInfo.ConvertTime method。
例如,要获取中欧的当前时间:
var remoteTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time");
var remoteTime = TimeZoneInfo.ConvertTime(DateTime.Now, remoteTimeZone);
Console.WriteLine("Time in {0} is {1}", remoteTimeZone.Id, remoteTime.TimeOfDay.ToString());
【讨论】: