Unity获取服务器上标准的北京时间
时间: 2024-04-28 07:26:30 浏览: 6
要在Unity中获取服务器上标准的北京时间,可以使用以下代码:
```csharp
IEnumerator GetServerTime()
{
using (UnityWebRequest www = UnityWebRequest.Get("http://www.baidu.com/"))
{
yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success)
{
Debug.Log("Failed to get server time: " + www.error);
yield break;
}
string dateStr = www.GetResponseHeader("date");
DateTime date = DateTime.ParseExact(dateStr, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", CultureInfo.InvariantCulture.DateTimeFormat, DateTimeStyles.AssumeUniversal);
DateTime localDateTime = date.ToLocalTime().AddHours(8); // 北京时间比UTC时间快8个小时
Debug.Log("Server time: " + localDateTime);
}
}
```
这个方法通过向百度发送一个HTTP请求获取服务器时间,然后将获取到的时间转换为本地时间。需要注意的是,北京时间比UTC时间快8个小时,所以我们需要在转换后加上8个小时。