zoukankan      html  css  js  c++  java
  • 使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前

      1 //使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前
      2         //2008年03月15日 星期六 02:35
      3         public string DateStringFromNow(DateTime dt)
      4         {
      5             TimeSpan span = DateTime.Now - dt;
      6             if (span.TotalDays > 60)
      7             {
      8                 return dt.ToShortDateString();
      9             }
     10             else
     11             {
     12                 if (span.TotalDays > 30)
     13                 {
     14                     return
     15                     "1个月前";
     16                 }
     17                 else
     18                 {
     19                     if (span.TotalDays > 14)
     20                     {
     21                         return
     22                         "2周前";
     23                     }
     24                     else
     25                     {
     26                         if (span.TotalDays > 7)
     27                         {
     28                             return
     29                             "1周前";
     30                         }
     31                         else
     32                         {
     33                             if (span.TotalDays > 1)
     34                             {
     35                                 return
     36                                 string.Format("{0}天前", (int)Math.Floor(span.TotalDays));
     37                             }
     38                             else
     39                             {
     40                                 if (span.TotalHours > 1)
     41                                 {
     42                                     return
     43                                     string.Format("{0}小时前", (int)Math.Floor(span.TotalHours));
     44                                 }
     45                                 else
     46                                 {
     47                                     if (span.TotalMinutes > 1)
     48                                     {
     49                                         return
     50                                         string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes));
     51                                     }
     52                                     else
     53                                     {
     54                                         if (span.TotalSeconds >= 1)
     55                                         {
     56                                             return
     57                                             string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));
     58                                         }
     59                                         else
     60                                         {
     61                                             return
     62                                             "1秒前";
     63                                         }
     64                                     }
     65                                 }
     66                             }
     67                         }
     68                     }
     69                 }
     70             }
     71         }
     72 
     73         //C#中使用TimeSpan计算两个时间的差值
     74         //可以反加两个日期之间任何一个时间单位。
     75         private string DateDiff(DateTime DateTime1, DateTime DateTime2)
     76         {
     77             string dateDiff = null;
     78             TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
     79             TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
     80             TimeSpan ts = ts1.Subtract(ts2).Duration();
     81             dateDiff = ts.Days.ToString() + "" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "";
     82             return dateDiff;
     83         }
     84 
     85 
     86         //说明:
     87         /**/
     88         /*1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
     89 .TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
     90         下面的列表涵盖了其中的一部分:
     91         Add:与另一个TimeSpan值相加。 
     92         Days:返回用天数计算的TimeSpan值。 
     93         Duration:获取TimeSpan的绝对值。 
     94         Hours:返回用小时计算的TimeSpan值 
     95         Milliseconds:返回用毫秒计算的TimeSpan值。 
     96         Minutes:返回用分钟计算的TimeSpan值。 
     97         Negate:返回当前实例的相反数。 
     98         Seconds:返回用秒计算的TimeSpan值。 
     99         Subtract:从中减去另一个TimeSpan值。 
    100         Ticks:返回TimeSpan值的tick数。 
    101         TotalDays:返回TimeSpan值表示的天数。 
    102         TotalHours:返回TimeSpan值表示的小时数。 
    103         TotalMilliseconds:返回TimeSpan值表示的毫秒数。 
    104         TotalMinutes:返回TimeSpan值表示的分钟数。 
    105         TotalSeconds:返回TimeSpan值表示的秒数。
    106         */
    107 
    108         /**/
    109         /// <summary>
    110         /// 日期比较
    111         /// </summary>
    112         /// <param name="today">当前日期</param>
    113         /// <param name="writeDate">输入日期</param>
    114         /// <param name="n">比较天数</param>
    115         /// <returns>大于天数返回true,小于返回false</returns>
    116         private bool CompareDate(string today, string writeDate, int n)
    117         {
    118             DateTime Today = Convert.ToDateTime(today);
    119             DateTime WriteDate = Convert.ToDateTime(writeDate);
    120             WriteDate = WriteDate.AddDays(n);
    121             if (Today >= WriteDate)
    122                 return false;
    123             else
    124                 return true;
    125         }

    原文出处:http://www.cnblogs.com/zxjyuan/archive/2011/12/28/2305249.html

  • 相关阅读:
    《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(5.23)-- Format NVM command
    《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(4)-- Controller Architecture
    《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(3)-- 命令
    SPDK-nvmf与不同传输类型的公共接口
    NVMe over Fabrics 概况
    NVMe概况
    NVMe over Fabrics 协议Discovery服务交互过程跟踪
    《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8.21)-- Host Operation with Asymmetric Namespace Access Reporting
    《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8.8)-- Reservations
    Spring 中IOC(控制反转)&& 通过SET方式为属性注入值 && Spring表达式
  • 原文地址:https://www.cnblogs.com/zxbzl/p/3124016.html
Copyright © 2011-2022 走看看