c#中返回文章发表的时间差的示例

 更新时间:2012年12月04日 15:40:17   作者:  
现在是2012-12-04 11:29:59,发表时间是:2012-12-02 21:29:59,传统的ts.Days因为值为1天14小时0分0秒,会返回“昨天”,而这个会返回“前天”
复制代码 代码如下:

 public static string DateDiff(DateTime DateTime1, DateTime DateTime2)
         {
             string dateDiff = null;
             int date = 0;
             try
             {
                 int year = Convert.ToInt32(DateTime2.ToString("yyyy")) - Convert.ToInt32(DateTime1.ToString("yyyy"));
                 TimeSpan ts = DateTime2 - DateTime1;
                 string t1 = DateTime1.ToString("yyyy-MM-dd");
                 string t2 = DateTime2.ToString("yyyy-MM-dd");
                 DateTime d1 = DateTime.Parse(t1);
                 DateTime d2 = DateTime.Parse(t2);
                 TimeSpan ts2 = d2 - d1;
                 date = ts2.Days;
                 if (date == 0)
                 {
                     if (ts.Hours > 1)
                     {
                         dateDiff = ts.Hours.ToString() + "小时前";
                     }
                     else
                     {
                         if (ts.Minutes > 1)
                         {
                             dateDiff = ts.Minutes.ToString() + "分钟前";
                         }
                         else
                         {
                             dateDiff = ts.Seconds.ToString() + "秒前";
                         }
                     }
                 }
                 else
                 {
                     if (date == 1)
                     {
                         dateDiff = "昨天";
                     }
                     else
                     {
                         if (date == 2)
                         {
                             dateDiff = "前天";
                         }
                         else
                         {
                             if (year == 0)
                             {
                                 dateDiff = DateTime1.Month.ToString() + "月" + DateTime1.Day.ToString() + "日";
                             }
                             else
                             {
                                 dateDiff = DateTime1.Year.ToString() + "年" + DateTime1.Month.ToString() + "月" + DateTime1.Day.ToString() + "日";
                             }
                         }
                     }
                 }
             }
             catch
             { }
             return dateDiff;
         }          

相关文章

  • c#将字节数组转成易读的字符串的实现

    c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • C# 设计模式系列教程-桥接模式

    C# 设计模式系列教程-桥接模式

    桥接模式降低了沿着两个或多个维度扩展时的复杂度,防止类的过度膨胀,解除了两个或多个维度之间的耦合,使它们沿着各自方向变化而不互相影响。
    2016-06-06
  • C# 通过 oledb 操作Excel实例代码

    C# 通过 oledb 操作Excel实例代码

    本篇文章主要介绍了C# 通过 oledb 操作Excel实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Unity实现虚拟键盘

    Unity实现虚拟键盘

    这篇文章主要为大家详细介绍了Unity实现虚拟键盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • C#使用foreach语句简单遍历数组的方法

    C#使用foreach语句简单遍历数组的方法

    这篇文章主要介绍了C#使用foreach语句简单遍历数组的方法,涉及C#中foreach语句的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#中LINQ to Objects查询的实现

    C#中LINQ to Objects查询的实现

    LINQ to Objects是LINQ技术在C#中的一种应用,它专门用于对内存中的对象集合进行查询和操作,本文就详细的介绍C#中LINQ to Objects查询的实现,感兴趣的可以了解一下
    2023-08-08
  • C#中的应用程序接口介绍及实现,密封类与密封方法

    C#中的应用程序接口介绍及实现,密封类与密封方法

    今天小编就为大家分享一篇关于C#中的应用程序接口介绍及实现,密封类与密封方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 适合初学者开发的C#在线英汉词典小程序

    适合初学者开发的C#在线英汉词典小程序

    这篇文章主要为大家详细介绍了适合初学者开发的C#在线英汉词典小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 基于C#实现12306的动态验证码变成静态验证码的方法

    基于C#实现12306的动态验证码变成静态验证码的方法

    这篇文章主要介绍了基于C#实现12306的动态验证码变成静态验证码的方法的相关资料,需要的朋友可以参考下
    2015-12-12
  • Unity存储游戏数据的多种方法小结

    Unity存储游戏数据的多种方法小结

    这篇文章主要介绍了Unity存储游戏数据的几种方法,在游戏开发中,存储游戏数据是非常重要的,因为游戏数据决定了游戏的各个方面,例如游戏的进度、玩家的成就、游戏的设置,需要的朋友可以参考下
    2023-02-02

最新评论