c# 获取百度网络日期,如获取不成功,则获取本地时间,并返回日期值
时间: 2024-04-18 11:24:17 浏览: 83
C#获取网络时间
你可以使用以下代码来获取百度的网络日期。如果获取不成功,则获取本地时间并返回日期值:
```csharp
using System;
using System.Net;
class Program
{
static void Main(string[] args)
{
DateTime currentDate = GetBaiduDate() ?? DateTime.Now;
Console.WriteLine($"Current date is: {currentDate.Date}");
}
static DateTime? GetBaiduDate()
{
try
{
var request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com");
request.Method = "HEAD";
request.Timeout = 3000;
using (var response = (HttpWebResponse)request.GetResponse())
{
var dateHeader = response.Headers["Date"];
if (DateTime.TryParse(dateHeader, out DateTime dateTime))
{
return dateTime.Date;
}
else
{
Console.WriteLine("Failed to parse date. Getting local date instead.");
return null;
}
}
}
catch (Exception ex)
{
Console.WriteLine($"An error occurred: {ex.Message}. Getting local date instead.");
return null;
}
}
}
```
这段代码调用了一个名为 `GetBaiduDate` 的方法来获取百度的网络日期。如果获取成功,则返回日期值;如果获取失败,则返回 `null`。在 `Main` 方法中,我们首先调用 `GetBaiduDate` 方法来获取日期值,如果返回值不为 `null`,则输出百度的当前日期;否则,获取本地时间并输出日期值。
阅读全文