ASP.NET中TimeSpan的用法

 ASP.NET 中,两个时间相减,得到一个 TimeSpan 实例,TimeSpan 有一些属性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds、TotalSeconds、Ticks,注意没有 TotalTicks。

 
 

一、TimeSpan常量、字段

TimeSpan.MaxValue;            // 10675199.02:48:05.4775807
TimeSpan.MinValue;            //-10675199.02:48:05.4775808
TimeSpan.Zero;                //        0.00:00:00.0
TimeSpan.TicksPerDay;         //一天的   Tick 数: 864000000000
TimeSpan.TicksPerHour;        //一小时的 Tick 数: 36000000000
TimeSpan.TicksPerMillisecond; //一毫秒的 Tick 数: 10000
TimeSpan.TicksPerMinute;      //一分钟的 Tick 数: 600000000
TimeSpan.TicksPerSecond;      //一秒钟的 Tick 数: 10000000

二、TimeSpan静态方法

TimeSpan.Compare();          //对比
TimeSpan.Equals();           //=       
TimeSpan.FromDays();         //从天数建立
TimeSpan.FromHours();        //从小时数建立
TimeSpan.FromMilliseconds(); //从毫秒数建立
TimeSpan.FromMinutes();      //从分钟数建立
TimeSpan.FromSeconds();      //从秒数建立
TimeSpan.FromTicks();        //从 Tick 数建立
TimeSpan.Parse();            //从字符串建立
TimeSpan.ParseExact();       //从指定格式的字符串建立
TimeSpan.TryParse();         //尝试从字符串建立
TimeSpan.TryParseExact();    //尝试从指定格式的字符串建立
 

三、TimeSpan属性

Days;              //天部分 Hours; //小时部分
Milliseconds;      //毫秒部分
Minutes;           //分部分
Seconds;           //秒部分
Ticks;             //Tick 总数
TotalDays;         //总天数
TotalHours;        //总小时数
TotalMilliseconds; //总毫秒数
TotalMinutes;      //总分钟数
TotalSeconds;      //总秒数

四、TimeSpan方法

 Add();       // + CompareTo(); //比对
Duration();  //绝对值
Equals();    //
Negate();    //取反, + > -、- > +
Subtract();  // -, Add()的反操纵
ToString();  //格式化到字符串, .Net 4.0 较之前版本有变动
 

 五、TimeSpan构建对象
 

protected void Button1_Click(object sender, EventArgs e)
...{
    TimeSpan t1 = new TimeSpan(864000000000);        //1.00:00:00
    TimeSpan t2 = new TimeSpan(23, 59, 59);          //23:59:59
    TimeSpan t3 = new TimeSpan(30, 23, 59, 59);      //30.23:59:59
    TimeSpan t4 = new TimeSpan(30, 23, 59, 59, 999); //30.23:59:59.9990000

    double f = 365.25;
    TimeSpan t5 = TimeSpan.FromDays(f);                                         //365.06:00:00
    TimeSpan t6 = TimeSpan.FromHours(f * 24);                                   //365.06:00:00
    TimeSpan t7 = TimeSpan.FromMinutes(f * 24 * 60);                            //365.06:00:00
    TimeSpan t8 = TimeSpan.FromSeconds(f * 24 * 60 * 60);                       //365.06:00:00
    TimeSpan t9 = TimeSpan.FromMilliseconds(f * 24 * 60 * 60 * 1000);           //365.06:00:00
    TimeSpan t0 = TimeSpan.FromTicks((long)(f * 24 * 60 * 60 * 1000 * 10000));  //365.06:00:00

    TextBox1.Text = string.Format("{0}n{1}n{2}n{3}n{4}n{5}n{6}n{7}n{8}n{9}",
            t1, t2, t3, t4, t5, t6, t7, t8, t9, t0
        );
}

求离最近发表时间的函数
public string DateStringFromNow(DateTime dt)   
{   
TimeSpan span = DateTime.Now - dt;   
if (span.TotalDays > 60)   
{   
return dt.ToShortDateString();   
}   
else if ( span.TotalDays > 30 )   
{   
return "1个月前";   
}   
else if (span.TotalDays > 14)   
{   
return "2周前";   
}   
else if (span.TotalDays > 7)   
{   
return "1周前";   
}   
else if (span.TotalDays > 1)   
{   
return string.Format("{0}天前", (int)Math.Floor(span.TotalDays));   
}   
else if (span.TotalHours > 1)   
{   
return string.Format("{0}小时前", (int)Math.Floor(span.TotalHours));   
}   
else if (span.TotalMinutes > 1)   
{   
return string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes));   
}   
else if (span.TotalSeconds >= 1)   
{   
return string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));   
}   
else  
{   
return "1秒前";   
}   
}

DateTime和TimeSpan中的常用成员及其说明

 

属性 说明
Date 获取此实例的日期部分。
Day 获取此实例所表示的日期为该月中的第几天。
DayOfWeek 获取此实例所表示的日期是星期几。
DayOfYear 获取此实例所表示的日期是该年中的第几天。
Hour 获取此实例所表示日期的小时部分。
Millisecond 获取此实例所表示日期的毫秒部分。
Minute 获取此实例所表示日期的分钟部分。
Month 获取此实例所表示日期的月份部分。
Now 创建一个DateTime实例,它是此计算机上的当前本地日期和时间。
Second 获取此实例所表示日期的秒部分。
TimeOfDay 获取此实例的当天的时间。
Today 获取当前日期。
Year 获取此实例所表示日期的年份部分。

表01:DateTime类的常用属性及其说明

方法 说明
Add 将指定的TimeSpan的值加到此实例的值上。
AddDays 将指定的天数加到此实例的值上。
AddHours 将指定的小时数加到此实例的值上。
AddMilliseconds 将指定的毫秒数加到此实例的值上。
AddMinutes 将指定的分钟数加到此实例的值上。
AddMonths 将指定的月份数加到此实例的值上。
AddSeconds 将指定的秒数加到此实例的值上。
AddYears 将指定的年份数加到此实例的值上。
DaysInMonth 返回指定年份中指定月份的天数。
IsLeapYear 返回指定的年份是否为闰年的指示。
Parse 将日期和时间的指定字符串表示转换成其等效的DateTime实例。
Subtract 从此实例中减去指定的时间或持续时间。
ToLongDateString 将此实例的值转换为其等效的长日期字符串表示形式。
ToLongTimeString 将此实例的值转换为其等效的长时间字符串表示形式。
ToShortTimeString 将此实例的值转换为其等效的短时间字符串表示形式。
ToShortDateString 将此实例的值转换为其等效的短日期字符串表示形式。

表02:DateTime结构的常用方法及其说明

表03和表04分别是TimeSpan结构的常用属性和常用方法及其说明:

属性 说明
Days 获取由此实例表示的整天数。
Hours 获取由此实例表示的整小时数。
Milliseconds 获取由此实例表示的整毫秒数。
Minutes 获取由此实例表示的整分钟数。
Seconds 获取由此实例表示的整秒数。
Ticks 获取用刻度表示的此实例的值。
TotalDays 获取以整天数和天的小数部分表示的此实例的值。
TotalHours 获取以整小时数和小时的小数部分表示的此实例的值。
TotalMilliseconds 获取以整毫秒数和毫秒的小数部分表示的此实例的值。
TotalMinutes 获取以整分钟数和分钟的小数部分表示的此实例的值。
TotalSeconds 获取以整秒数和秒的小数部分表示的此实例的值。

表03:TimeSpan结构的常用属性及其说明

方法 说明
Add 将指定的TimeSpan添加到此实例中。
Duration 返回其值为此实例的绝对值的TimeSpan。
FromDays 返回表示指定天数的TimeSpan,其中对天数的指定精确到最接近的毫秒。
FromHours 返回表示指定小时数的TimeSpan,其中对小时数的指定精确到最接近的毫秒。
FromMilliseconds 返回表示指定毫秒数的TimeSpan。
FromMinutes 返回表示指定分钟数的TimeSpan,其中对分钟数的指定精确到最接近的毫秒。
FromSeconds 返回表示指定秒数的TimeSpan,其中对秒数的指定精确到最接近的毫秒。
Subtract 从此实例中减去指定的TimeSpan。

表04:TimeSpan结构的常用方法及其说明

时间: 2024-12-14 11:37:24

ASP.NET中TimeSpan的用法的相关文章

【转载】Asp.net中DataBinder.Eval用法的总结

摘自 http://www.cnblogs.com/liuzijing688/archive/2008/03/27/1124623.html Asp.net中DataBinder.Eval用法的总结 <%# Bind("Subject") %> //绑定字段<%# Container.DataItemIndex + 1%> //实现自动编号<%# DataBinder.Eval(Container.DataItem, "[n]") %&

详解ASP.NET中Session的用法_实用技巧

      当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.        通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象.当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有

ASP.NET中Dictionary基本用法实例分析_实用技巧

本文实例讲述了ASP.NET中Dictionary基本用法.分享给大家供大家参考,具体如下: //Dictionary位于System.Collections.Generic命名空间之下 /* * 使用Dictionary之前必须引用System.Collections.Generic命名空间: * 使用Dictionary时必须声明其键和值的数据类型(可以为任意类型): */ //声明实例化Dictionary为dic System.Collections.Generic.Dictionary

ASP.NET中Cookie的用法实例分析_实用技巧

本文实例讲述了ASP.NET中Cookie的用法.分享给大家供大家参考.具体分析如下: Cookie的用法也和ASP中差不多.比如我们建立一个名为aspcn,值为飞刀的cookie HttpCookie cookie = new HttpCookie["aspcn"]; cookie.Value = "飞刀"; Response.AppendCookie(cookie); 我们取出Cookie值也很简单 HttpCookie cookie = Request.Coo

asp.net中ViewState的用法详解_实用技巧

在web窗体控件设置为runat = "server",这个控件会被附加一个隐藏的属性_ViewState,_ViewState存放了所有控件在ViewState中的状态值.ViewState是一个名称/值的对象集合.当请求某个页面时,ASP.NET会把所有控件的状态序列化成一个字符串,然后作为窗体的隐藏属性送到客户端,当客户端吧页面回传时,ASP.NET分析回传的窗体属性,并赋给控件对应的值. 当我们在写一个asp.net表单时, 一旦标明了 form runat=server ,那

ASP.NET中JRepeater的用法

近日收到很多询问关于JRepeater用法的邮件,不能一一回复,请见谅. 现重新将用法发布出来, 希望能够对大家有所帮助. JRepeater在Repeater的基础上封装了列表的样式,控件及相关事件. 演示图如下 用JRepeater来绑定数据很简单,只需2步: 一.将JRepeater添加到工具箱后,拖动到设计图.这时你会看到 自动生成的 用来全选的Checkbox 及 用来删除的Button和一个Repeater. 二.将源码中的数据绑定,全选,删除事件复制到你项目中. 仅此两步而已. D

ASP.NET中IsPostBack用法详解_实用技巧

本文针对ASP.NET中IsPostBack的用法进行了详细的说明,有助于读者更准确的掌握ASP.NET中IsPostBack的用法. 一.IsPostBack介绍: Page.IsPostBack是一个标志:当前请求是否第一次打开.调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者this.Page.IsPostBack,它们都等价. 1)当通过IE的地址栏等方式打开一个URL时是第一次打开, 当通过页面的提交按钮或能引起提交的按钮以POS

VB.net技巧之七----asp.net中cookie的使用

asp.net|cookie|技巧 在asp.net中cookie的用法与asp中是有一些不一样的.开始我用asp中的用法,老是出错.试了多次后,才发现应该在asp.net中应该这样用.       首先,要定义一个 HttpCookie         Dim  acookie As New HttpCookie("amtek")        然后可以向其中的添加一个名为"name"的项,值为"itone"       acookie.Val

asp中Split的用法示例

示例|split 大家有没有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂--如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解. 例如我想取得一个ftp里的用户名及密码(服务器等)值(用IE当FTP时或从表中取出FTP的值).下面是我的解决思路:设url为收到的URL值,这里指:url=ftp://username:password@server,请注意这句暗墓媛?br>我想大家都看清楚这个URL里的规律了吧,就是各个部分都被"