zoukankan      html  css  js  c++  java
  • C#中求两个日期之间相隔的天数

    sql中这样取,select DateDiff("dd",joindatetime,getdate()) from db


       那么在c#中呢


    //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


            /// <summary>
            /// 计算两个日期的时间间隔
            /// </summary>
            /// <param name="DateTime1">第一个日期和时间</param>
            /// <param name="DateTime2">第二个日期和时间</param>
            /// <returns></returns>
            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;
            }

    说明:
    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;

  • 相关阅读:
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    linux中的cd ..和cd -命令有什么区别?
    GCC使用
  • 原文地址:https://www.cnblogs.com/tangself/p/1798342.html
Copyright © 2011-2022 走看看