zoukankan      html  css  js  c++  java
  • timespan 和 datetime 的比较

    timespan 和 datetime是 .net 中时间处理的两个主要的类 

    创建并操作一个日期时间对象的方法很简单,下面是简单的实例代码:

    dim d1 as datetime
    dim d2 as datetime
    dim ts as timespan
    d1
    =datetime.now
    d2
    =d1.addhours(2)
    ts
    =d1.subtract(d2)

    dim ts2 as timespan(0,1,1,1)
    ts2
    =ts2.fromDays(1)
    dim d3 as datetime
    d3
    =d2.add(ts2)

    上面代码虽然非常简单,但是却已经把所有的精华都体现出来了。
    d1被赋予当前是时间 ,这样d1=2006-9-18 08:08:08

    也可以只返回日期给d1 方法是

    d1=DateTime.today

    d2为d1加上两个小时的时间,所以d2为:2006-09-18 10:08:08

    对d1 和 d2 进行减法 返回一个timespan对象 被赋给了ts 代码是:

    ts=d1.subtract(d2)

    对于ts这里要说几句:

    ts定义是可以指定四个参数:分别代表 日,时,分,秒

    例如:dim ts2 as timespan

    ts2=new timespan(1,1,1,1)

    已知一个timespan对象,可以通过几个方法返回一个timespan对象。例如:

    dim ts3 as timespan=ts2.fromhours(2)    

    则ts3 为 (1,2,1,1)

    其他的函数使用方法依次类推。

    可以通过 ts2.days,ts2.hours 返回对应的  日 和 时,  则返回 1,1

    也可以通过 ts2.TotalHours 返回总的小时为 25.01694

    可以通过两个日期的减法 获得一个timespan对象,此时将会对两个日期进行运算。秒和秒运算,分和分运算,时和时运算,最后年月日全都转换成日运算

    也可以把一个timespan对象加到一个时间对象上,获得一个新的时间。 此时  的运算方法和上面的相似。

    当然对于datetime 和 timespan 还有很多方法和属性需要研究和实践。

    //********************************************* 解析二:

    C#时间比较大小方法一:时间与时间之间直接比较。
    stringstrTime1=DateTime.Now.ToString();  
    stringstrTime2=DateTime.Now.AddDays(-1).ToString();  
    DateTimedt1=Convert.ToDateTime(strTime1);  
    DateTimedt2=Convert.ToDateTime(strTime2);  
    if(dt1>dt2)  
    {  
    ……其他操作  

    C#时间比较大小方法二:使用CompareTo方法,实现时间与时间之间的比较。
    stringstrTime1=DateTime.Now.ToString();  
    stringstrTime2=DateTime.Now.AddDays(-1).ToString();  
    DateTimedt1=Convert.ToDateTime(strTime1);  
    DateTimedt2=Convert.ToDateTime(strTime2);  
    intn=dt1.CompareTo(dt2);  
    if(n>0)  
    {  
    ……其他操作  

    c#计算时间差重点:

    c#计算时间差函数TimeSpan的应用

    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值表示的秒数。

    c#计算时间差实现方法:

    DateTime DateTime1,   
    DateTime2 = DateTime.Now  ;//现在时间  
    DateTime1 =Convert.ToDateTime("2009-04-24 20:00:00"); //设置要求的减的时间  
                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() + "秒"; 

    //************************************************  解析三:

    C#中时间差的计算
    /// <summary>
    /// 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值.
    /// </summary>
    /// <param name="DateTime1">第一个日期和时间</param>
    /// <param name="DateTime2">第二个日期和时间</param>
    /// <returns></returns>
    private string DateDiff(DateTime DateTime1,DateTime DateTime2)
    {
    string dateDiff=null;
    try
    {
    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()+"秒";
    }
    catch
    {

    }
    return dateDiff;
    }
    /// <summary>
    /// 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值.
    /// </summary>
    /// <param name="DateTime1">一个日期和时间</param>
    /// <returns></returns>
    private string DateDiff(DateTime DateTime1)
    {
    return this.DateDiff(DateTime1,DateTime.Now);
    }

  • 相关阅读:
    IPhone手机页面中点击文本输入框,弹出键盘,网页会放大,如何解决
    JQuery让input从disabled变成enabled
    c# winform 获取当前程序运行根目录,winform 打开程序运行的文件夹
    如何让Snippet Compiler 2008 支持linq
    org.in2bits.MyXls.XlsDocument 生成excel文件 ; 如果想读取模板再另外生成的话,试试 NPOI
    Vue学习笔记八:v-for,v-if,v-show指令
    Vue学习笔记七:Vue中的样式
    Vue学习笔记六:v-model 数据双向绑定
    Vue学习笔记五:事件修饰符
    Vue学习笔记四:跑马灯效果
  • 原文地址:https://www.cnblogs.com/Fooo/p/519693.html
Copyright © 2011-2022 走看看