c# winform 获取网络时间(转载自:https://zhidao.baidu.com/question/1695321825523478548.html)
2021-05-14 10:53 idea555 阅读(1111) 评论(0) 收藏 举报1.窗体:一个label,1个timer;
2:代码
using System.Net;
private void Form1_Load(object sender, EventArgs e)
{//窗体载入后
Timer1.Interval = 1000;
Timer1.Start();
}
private void Timer1_Tick(object sender, EventArgs e)
{//显示时间
string netTime = GetNetDateTime();
if(netTime != "")
{
LabNow.Text = "北京时间(网络):" + Convert.ToDateTime(netTime).ToString("yyyy年MM月dd dddd HH时mm分ss秒");
}
else
{
LabNow.Text = "北京时间(本地):"+DateTime.Now.ToString("yyyy年MM月dd dddd HH时mm分ss秒");
}
}
public static string GetNetDateTime()
{//获取网络时间
WebRequest request = null;
WebResponse response = null;
WebHeaderCollection headerCollection = null;
string datetime = string.Empty;
try
{
request = WebRequest.Create("https://www.baidu.com");
request.Timeout = 3000;
request.Credentials = CredentialCache.DefaultCredentials;
response = request.GetResponse();
headerCollection = response.Headers;
foreach (var h in headerCollection.AllKeys)
{
if (h == "Date") {
datetime = headerCollection[h];
}
}
return datetime;
}
catch (Exception) { return datetime; }
finally
{
if (request != null)
{ request.Abort(); }
if (response != null)
{ response.Close(); }
if (headerCollection != null)
{ headerCollection.Clear(); }
}
}

浙公网安备 33010602011771号