zoukankan      html  css  js  c++  java
  • Asp.Net 利用TimeSpan类实现时间差计算 并返回所需字符串(类似于SNS)

      今天做了一个类似于发微博的小Demo,其中有需要绑定时间的地方,我想实现跟腾讯微博上显示时间的方式差不多,于是到网上搜了一下TimeSpan类,然后我自己把算法写了一下与大家共享啊,没什么技术含量,只是分享,高手直接路过。直接贴代码吧!

    /// <summary>
    /// 求当前与发表时间的差值
    /// </summary>
    /// <param name="dt1">当前时间</param>
    /// <param name="dt2">需要比较的时间</param>
    /// <returns></returns>
    public string TimeChaZhi(DateTime dt1, DateTime dt2)
    {
    TimeSpan sj1 = new TimeSpan(dt1.Ticks);
    TimeSpan sj2 = new TimeSpan(dt2.Ticks);
    TimeSpan sj = sj1.Subtract(sj2).Duration();
    int day = sj1.Days - sj2.Days;
    if (day > 3)
    {
    return Convert.ToDateTime(dt2).ToString("M月d日 HH:mm");
    }
    else if (day != 0)
    {
    if (day == 1)
    {
    return "昨天" + "&nbsp;" + Convert.ToDateTime(dt2).ToString("HH:mm");
    }
    else if (day == 2)
    {
    return "前天" + "&nbsp;" + Convert.ToDateTime(dt2).ToString("HH:mm");
    }
    else
    {
    return day.ToString() + "天前";
    }
    }
    else if (sj.Hours != 0)
    {
    //24小时之间
    if (Convert.ToInt32(dt1.Day) == Convert.ToInt32(dt2.Day))
    {
    return "今天" + "&nbsp;" + Convert.ToDateTime(dt2).ToString("HH:mm");
    }
    else
    {
    return "昨天" + "&nbsp;" + Convert.ToDateTime(dt2).ToString("HH:mm");
    }
    }
    else if (sj.Minutes != 0)
    {
    return sj.Minutes.ToString() + "分钟前";
    }
    else if (sj.Seconds < 20)
    {
    return "刚刚";
    }
    else
    {
    return sj.Seconds.ToString() + "秒前";
    }
    }

      很简单,我也不解释了...

      PS:Tandy Tang祝大家写代码写的愉快!

  • 相关阅读:
    漏洞扫描
    端口探测
    IP探测
    kali linux基础命令
    python学习07
    python学习06
    openoffice+jquery.media.js实现Linux与Windows中文档在线预览
    Oracle10g安装包
    MyEclipse2014安装包附注册破解包、eclipse安装包
    外层div自适应内层div高度
  • 原文地址:https://www.cnblogs.com/tandyshen/p/timespan.html
Copyright © 2011-2022 走看看