2017-05-12 29 views
0

C#を使用してインターネットから現在時刻をTextBoxにフェッチする方法は?インターネットから現在の時刻を取得する方法は?

私は次のコードで試してみました:

DateTime d = DateTime.UtcNow; 
DateTimeOffset dto2 = DateTimeOffset.UtcNow; 

しかし、それだけで正しい日付を返します。ポート13がブロックされている環境では

+0

は、それが唯一のシステム日付を返しDateTime.Now –

+0

てみてください...私は "Googleの時刻と日付 –

+1

をしたいです[インターネットから](https://www.google.nl/search?q=internet+it+crowd&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjU0JCE6OnTAhXnCMAKHXbCDa8Q_AUIBigB&biw=1920&bih=945)」それはむしろあいまいです... – VDWWD

答えて

0

、NISTからの時間は、ウェブは以下のように掻き取りすることができ、

public static DateTime GetNistTime() 
{ 
    DateTime dateTime = DateTime.MinValue; 

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://nist.time.gov/actualtime.cgi?lzbc=siqm9b"); 
    request.Method = "GET"; 
    request.Accept = "text/html, application/xhtml+xml, */*"; 
    request.UserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"; 
    request.ContentType = "application/x-www-form-urlencoded"; 
    request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore); //No caching 
    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
    if (response.StatusCode == HttpStatusCode.OK) 
    { 
     StreamReader stream = new StreamReader(response.GetResponseStream()); 
     string html = stream.ReadToEnd();//<timestamp time=\"1395772696469995\" delay=\"1395772696469995\"/> 
     string time = Regex.Match(html, @"(?<=\btime="")[^""]*").Value; 
     double milliseconds = Convert.ToInt64(time)/1000.0; 
     dateTime = new DateTime(1970, 1, 1).AddMilliseconds(milliseconds).ToLocalTime(); 
    } 

    return dateTime; 
} 
関連する問題