美文网首页
十、时间服务类

十、时间服务类

作者: GameObjectLgy | 来源:发表于2022-07-18 10:05 被阅读0次

    在业务开发是经常需要使用到时间,而时间戳是前后端通讯中最常用的传递方式,而前端的表示则通常会将其转化为日期,以及做比较之类的。

    时间戳 转换为时间 单位 秒(通常使用的是这个)
    public static DateTime StampToDateTime(long mTime)
            {
                DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                mTime *= 10000;
                TimeSpan toNow = new TimeSpan(mTime);
                return startTime.Add(toNow);
            }
    
    // 时间戳 转换为时间 单位 毫秒(unity Editor会使用这个)
            public static DateTime StampToDateTimeMilTime(long d)
            {
                DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                var  mTime = long.Parse(d + "0000");
                TimeSpan toNow = new TimeSpan(mTime);
                return startTime.Add(toNow);
            }
    //判断是时间是否过期
    public static bool IsPastDueBySec(long timdStamp)
            {
                if (timdStamp == -1)
                    return false;
                return timdStamp < DateTimeToStampOutLong(DateTime.Now, true);
            }
    
    public static long DateTimeToStampOutLong(DateTime now, bool AccurateToMilliseconds = false)
            {
                DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 当地时区
                long timeStamp = (long) (now - startTime).TotalMilliseconds; // 相差毫秒数
                if (!AccurateToMilliseconds)
                {
                    timeStamp = timeStamp / 1000;
                }
                return timeStamp;
            }
    

    相关文章

      网友评论

          本文标题:十、时间服务类

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