首页 > 编程知识 正文

sample的解读,timespan的赋值

时间:2023-05-04 17:03:34 阅读:109121 作者:2374

这是我在网上看到的关于时间间隔的帖子,写得非常棒。 读了马上就明白了。 土着地址: http://blog.Sina.com.cn/s/blog _ 66a 054 e 50100 hxcb.html

ASP.NET将两个时间相减,得到一个TimeSpan实例。 TimeSpan具有Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds和TotalHours等属性

虽然理解这些属性名称有点困难,但读了本文后,相应的你一定会茅塞顿开。

举例说明

时间1是2010-1-2 8:43:35; 时间2是2010-1-12 8:43:34。 从时间2减去时间1,得到TimeSpan实例。

时间2比时间1多9天,为23小时59分59秒。

那么,Days是9,Hours是23,Minutes是59,Seconds是59。

来看看Ticks吧。 Tick是表示100纳秒,也就是1千万分之一秒的计时周期。 那么Ticks在这里表示合计几个小时周期的差异? 也就是说,9 * 24 * 3600 * 100000023 * 3600 * 10000059。3600是一小时的秒数。

TotalDays将Ticks换算为天数,为8639990000000/(10000000 * 24 * 3600 )=9.99998842592593。

TotalHours将Ticks换算为时间数,为8639990000000/(10000000*3600 )=239.999722222222。

所谓TotalMinutes是将Ticks变换为成分分数的结果,是8639990000000/(1000000 * 60 (=14399.9833333333 )。

TotalSeconds是将Ticks换算成秒数后的结果,863999000000/(10000000 )=863999。

负数

上面的内容是较晚的日期减去较早的日期,所以每个属性值都是正数,如果是较早的日期减去较晚的日期,则属性值为负数。

TimeSpan (

int days,

int hours,

int minutes,

输入密码

求接近最近发表时间的函数

公共数据字符串帧(datetime dt ) )。

{

TimeSpan span=DateTime.Now - dt;

(span.total days 60 ) )。

{

return dt.ToShortDateString (;

}

elseif(span.totaldays30 ) )。

{

返回'一个月前';

}

elseif(span.totaldays14 ) )。

{

return '2 '两周前';

}

ELSEif(span.totaldays7) )。

{

返回'一周前';

}

ELSEif(span.totaldays1) )。

{

returnstring.format('{0}日前),(int ) math.floor ) span.totaldays );

}

elseif(span.totalhours1) )。

{

returnstring.format('{0}时间前),(int ) math.floor ) span.totalhours );

}

ELSEif(span.totalminutes1) )。

{

returnstring.format('{0}分钟前),(int ) math.floor ) span.totalminutes );

}

elseif(span.totalseconds=1) )。

{

returnstring.format('{0}秒前),(int ) math.floor ) span.totalseconds );

}

else

{

return '1秒前';

}

}

C#使用TimeSpan计算两个时间的差

可以把两个日期相加

间任何一个时间单位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"秒";
return dateDiff;
}


TimeSpan    ts    =    Date1    -    Date2;  
   double    dDays    =    ts.TotalDays;//带小数的天数,比如1天12小时结果就是1.5  
   int    nDays    =    ts.Days;//整数天数,1天12小时或者1天20小时结果都是1  


说明:
1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
下面的列表涵盖了其中的一部分:
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。


          /// <summary>
          /// 日期比较
          /// </summary>
          /// <param name="today">当前日期</param>
          /// <param name="writeDate">输入日期</param>
          /// <param name="n">比较天数</param>
          /// <returns>大于天数返回true,小于返回false</returns>
          private bool CompareDate(string today, string writeDate, int n)
          {
              DateTime Today = Convert.ToDateTime(today);
              DateTime WriteDate = Convert.ToDateTime(writeDate);
              WriteDate = WriteDate.AddDays(n);
              if (Today >= WriteDate)
                  return false;
              else
                  return true;
          }

转载于:https://www.cnblogs.com/lyy445910200/p/4977967.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。