如何从互联网到我的特定时区获取日期时间?

时间:2016-12-01 03:24:05

标签: c# .net winforms

我住在以色列所以时区应该是耶路撒冷或以色列的其他城市。 如果我在谷歌搜索:以色列时间我得到:5:22 但随着代码的回归30/11/2016 19:23:05所以日期和时间都是错误的。它现在在2016年12月1日上午5点22分

    File tmpfile = temporaryFolder.newFile();
    tmpfile.deleteOnExit();
    return tmpfile;

2 个答案:

答案 0 :(得分:1)

看看how can get DateTime From Internet (External Resource - Not From Server)。答案为我的时区GMT + 4提供了正确的日期和时间。但我只用一台服务器尝试解决方案,而不是试图从5随机中获取时间。

答案 1 :(得分:0)

实例 以下示例演示ToLocalTime方法。请注意,确切的输出取决于当前文化以及运行它的系统的本地时区。

using System;
class Example
{
    static void Main()
    {
        DateTime localDateTime, univDateTime;
        Console.WriteLine("Enter a date and time.");
        string strDateTime = Console.ReadLine();
        try {
            localDateTime = DateTime.Parse(strDateTime);
            univDateTime = localDateTime.ToUniversalTime();
            Console.WriteLine("{0} local time is {1} universal time.",localDateTime,univDateTime); 
        }
        catch (FormatException) {
            Console.WriteLine("Invalid format.");
            return;
        }
        Console.WriteLine("Enter a date and time in universal time.");
        strDateTime = Console.ReadLine();
        try {
            univDateTime = DateTime.Parse(strDateTime);
            localDateTime = univDateTime.ToLocalTime();
            Console.WriteLine("{0} universal time is {1} local time.", univDateTime,localDateTime); 
        }
        catch (FormatException) {
            Console.WriteLine("Invalid format.");
            return;
        }
    }
}

在太平洋标准时区的文化为en-US的计算机上运行时,该示例显示如下输出:          输入日期和时间。          12/10/2015 6:18 AM          12/10/2015 6:18:00 AM当地时间是12/10/2015 2:18:00 PM世界时间。          以世界时间输入日期和时间。          12/20/2015 6:42:00          12/20/2015 6:42:00 AM世界时间是当地时间12/19/2015 10:42:00。

参考:https://msdn.microsoft.com/en-us/library/system.datetime.tolocaltime(v=vs.110).aspx