美文网首页
Unity中,获取当前的网络时间

Unity中,获取当前的网络时间

作者: 全新的饭 | 来源:发表于2024-05-26 17:47 被阅读0次

获取当前时间戳

    // 获取当前的时间戳
    private void GetCurTimestamp(Action<long> callback, Action failAction)
    {
        Utils.StartCoroutineAutoDestroy(GetCurTimestampCoroutine());

        IEnumerator GetCurTimestampCoroutine()
        {
            var getCurTimePath = "https://api.pinduoduo.com/api/server/_stm";
            UnityWebRequest uwr = UnityWebRequest.Get(getCurTimePath);
            yield return uwr.SendWebRequest();
            if (uwr.result == UnityWebRequest.Result.Success)
            {
                var curTimestampStr = CurTimePathContentToCurTimestampStr(uwr.downloadHandler.text);
                if (long.TryParse(curTimestampStr, out long curTimestamp))
                {
                    callback?.Invoke(curTimestamp);
                }
                else
                {
                    failAction?.Invoke();
                }
            }
            else
            {
                failAction?.Invoke();
            }
        }

        string CurTimePathContentToCurTimestampStr(string curTimePathContent)
        {
            return curTimePathContent.Split(":")[1].Replace("}", string.Empty);
        }
    }

时间戳转时间

    // 时间戳转时间
    private string TimestampToTimeStr(long timestamp)
    {
        var timeStr = DateTimeOffset.FromUnixTimeMilliseconds(timestamp).LocalDateTime.ToString();
        return timeStr;
    }

时间转时间戳

    private const string TimeStrFormat = "yyyy/%M/%d HH:mm:ss";
    // 时间转时间戳
    private bool TryTimeStrToTimestamp(string timeStr, out long timestamp)
    {
        timestamp = 0;
        var ret = false;
        string format = TimeStrFormat;
        if (DateTimeOffset.TryParseExact(timeStr, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTimeOffset dateTimeOffset))
        {
            ret = true;
            timestamp = dateTimeOffset.ToUnixTimeMilliseconds();
        }
        return ret;
    }

相关文章

网友评论

      本文标题:Unity中,获取当前的网络时间

      本文链接:https://www.haomeiwen.com/subject/uqoqqjtx.html