• 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构建对象
     

     
    C# 代码   复制
    
    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
            );
    }
    

    六、TimeSpan实例

     
    C# 代码   复制
    
    
    时间 12010-1-2 8:43:35时间 22010-1-12 8:43:34
    用时间 2 减时间 1,得到一个 TimeSpan 实例。
    
    那么时间 2 比时间 1923 小时 5959 秒。
    
    那么,Days 就是 9,Hours 就是 23,Minutes 就是 59,Seconds 就是 59
    再来看 Ticks,Tick 是一个计时周期,表示一百纳秒,即一千万分之一秒,那么 Ticks 在这里表示总共相差多少个时间周期,即:9 * 24 * 3600 * 10000000 + 23 * 3600 * 10000000 + 59 * 60 * 10000000 + 59 * 10000000 = 86399900000003600 是一小时的秒数。
    
    TotalDays 就是把 Ticks 换算成日数,即:8639990000000 / (10000000 * 24 * 3600) = 9.99998842592593
    TotalHours 就是把 Ticks 换算成小时数,即:8639990000000 / (10000000 * 3600) = 239.999722222222
    TotalMinutes 就是把 Ticks 换算成分钟数,即:8639990000000 / (10000000 * 60) = 14399.9833333333
    TotalSeconds 就是把 Ticks 换算成秒数,即:8639990000000 / (10000000) = 863999
  • 相关阅读:
    Vmware 可用的激活码
    查询某网址的百度收藏量
    SQL 分页实现
    JS 分页实现
    分页逻辑分析
    Mysql总结概述
    解析select *
    teradata中EXPLAIN执行计划总结
    Teradata Join类型
    Teradata中join总结
  • 原文地址:https://www.cnblogs.com/ranran/p/4055937.html
Copyright © 2020-2023  润新知