ASP.NET中TimeSpan的用法

作者:袖梨 2022-06-25

一、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结构的常用方法及其说明

相关文章

精彩推荐