2

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

这是针对Windows / WPF 应用程序的,不像 Web 有人可以回答这个问题吗?提前致谢。

4

2 回答 2

6

您应该查看TimeZoneInfo课程,特别是TimeZoneInfo.ConvertTime 方法

例如,要获取中欧的当前时间:

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());
于 2012-06-16T19:26:16.103 回答
-1
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();
    }
}
于 2015-09-17T04:33:16.380 回答