时间差值函数 如(1分钟前)

来源:互联网 发布:网络诈骗未遂100万 编辑:程序博客网 时间:2024/04/28 23:05

    /// <summary>
        /// 返回差值时间
        /// </summary>
        /// <param name="dt">时间</param>
        /// <returns>回差值时间 </returns>
        public static string ChangeTime(object dt)
        {
            DateTime Dtnow = DateTime.Now;
            TimeSpan ts = Dtnow - DateTime.Parse(dt.ToString());
            string txt = "分钟前";
            float s = float.Parse(ts.TotalMinutes.ToString());
            if (s < 1)
            {
                s = (float)1.1;
                txt = "分钟前";
            }
            else if (s > 60 && s < 1440)
            {
                s = (float)ts.TotalHours;
                txt = "小时前";
            }
            else if (s > 1440 && s < 43200)
            {
                s = (float)ts.TotalDays;
                txt = "天前";
            }
            else if (s > 43200 && s < 518400)
            {
                s = s / 43200;
                txt = "个月前";
            }
            else if (s > 518400)
            {
                s = s / 518400;
                txt = "年前";
            }
            int a = Convert.ToInt32(System.Math.Round(s));
            return a.ToString() + txt;

        }


        /// <summary>
        /// 精确到秒的返回方法
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        public static string ChangeTimeSecond(object dt)
        {
            DateTime Dtnow = DateTime.Now;
            TimeSpan ts = Dtnow - DateTime.Parse(dt.ToString());
            string txt = "分钟前";
            float s = float.Parse(ts.TotalMinutes.ToString());
            if (s < 1)
            {
                s = (float)ts.TotalSeconds;
                if (s <= 0)
                {
                    s = (float)1.1;
                }
                txt = "秒钟前";
            }
            else if (s > 60 && s < 1440)
            {
                s = (float)ts.TotalHours;
                txt = "小时前";
            }
            else if (s > 1440 && s < 43200)
            {
                s = (float)ts.TotalDays;
                txt = "天前";
            }
            else if (s > 43200 && s < 518400)
            {
                s = s / 43200;
                txt = "个月前";
            }
            else if (s > 518400)
            {
                s = s / 518400;
                txt = "年前";
            }
            int a = Convert.ToInt32(System.Math.Round(s));
            return a.ToString() + txt;

        }

原创粉丝点击