德国世界杯_2012年世界杯 - fyycdq.com

德国世界杯_2012年世界杯 - fyycdq.com

C#程序中获取百度时间

C#程序中获取百度时间

///

/// 获取百度时间

///

///

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

}

}

View Code

调用

var aaa = GetNetDateTime();

var bbb = Convert.ToDateTime(aaa).ToString("yyyy-MM-dd HH:mm:ss");

textBox2.Text = bbb;

View Code

测试步骤:

1、在电脑右下角鼠标右键选择“调整日期和时间”

2、关闭“自动设置时间”,点击下发“更改”

3、手动设置一个和当前时间不一致的时间用来测试

4、打开程序,测试即可看到系统时间与电脑时间一致,百度时间与百度查询的时间一致(百度查询时间链接:现在北京时间 在线标准北京时间校对 (beijing-time.org))

弊端

必须有网才能访问,还得是外网! 必须有网才能访问,还得是外网! 必须有网才能访问,还得是外网!

如果是内网给两个建议:

1、直接获取服务器时间

2、写个获取时间的接口,然后调用这个接口(原理:接口是放在服务器上的,接口中获取本地时间,那就是服务器时间,然后我们掉接口,间接掉的就是服务器时间,这样的好处是可以不与数据库交互)