如何在C#中获取不同国家/地区的当前时间

时间:2012-06-16 19:13:42

标签: wpf windows c#-4.0 timezone

如何通过使用以下任何参数获取C#中不同国家/地区的当前时间, 国家名称 2.国家时区

这适用于 Windows / WPF应用程序,与Web不同 谁能请回答这个问题? 提前谢谢。

2 个答案:

答案 0 :(得分:4)

您应该查看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());

答案 1 :(得分:0)

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();
    }
}