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#窗体读取EXCEL并存入SQL数据库的方法

    C#窗体读取EXCEL并存入SQL数据库的方法

    这篇文章主要介绍了C#窗体读取EXCEL并存入SQL数据库的方法,实例简述了实现读取excel及写入SQL数据库的原理与技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Unity游戏开发中的中介者模式的应用与实现

    Unity游戏开发中的中介者模式的应用与实现

    中介者模式是Unity游戏开发中常用的设计模式之一,用于减少对象之间的直接耦合,通过引入中介者来协调对象之间的交互。通过中介者模式,游戏对象可以更加灵活地进行交互和协同工作,降低系统复杂度,使代码更加易于维护和扩展
    2023-05-05
  • 手动编译C#代码的方法

    手动编译C#代码的方法

    在本文里小编给大家分享的是关于手动编译C#代码的方法和步骤,对此有需要的朋友们可以学习下。
    2018-12-12
  • C#中的集合用法分析

    C#中的集合用法分析

    这篇文章主要介绍了C#中的集合用法,实例形式分析了集合元素的定义、赋值、插入、移除等操作,需要的朋友可以参考下
    2014-10-10
  • C#中的矩形数组(多维数组)和锯齿数组的实现

    C#中的矩形数组(多维数组)和锯齿数组的实现

    本文主要介绍了C#中的矩形数组(多维数组)和锯齿数组的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Unity UGUI的Image图片组件使用详解

    Unity UGUI的Image图片组件使用详解

    这篇文章主要为大家介绍了Unity UGUI的Image图片组件使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • C#实现一键换IP、重置DNS、网关及掩码的方法

    C#实现一键换IP、重置DNS、网关及掩码的方法

    这篇文章主要介绍了C#实现一键换IP、重置DNS、网关及掩码的方法,很实用的功能,需要的朋友可以参考下
    2014-07-07
  • C#/VB.NET实现创建PDF/UA文件的示例代码

    C#/VB.NET实现创建PDF/UA文件的示例代码

    PDF/UA,即Universally Accessible PDF,该格式的PDF文件是于2012年8月以ISO标准14289-1发布的、具有普遍可访问的PDF文档标准。本文将用C#实现DF/UA文件的创建,需要的可以参考一下
    2022-08-08
  • C#之Expression表达式树实例

    C#之Expression表达式树实例

    这篇文章主要介绍了C#之Expression表达式树,包括了表达式树的原理与用法技巧,需要的朋友可以参考下
    2014-10-10
  • C#获取文件创建时间的方法

    C#获取文件创建时间的方法

    这篇文章主要介绍了C#获取文件创建时间的方法,涉及C#文件操作的技巧及CreattionTime属性的使用方法,需要的朋友可以参考下
    2015-04-04

最新评论