网站链接: 我爱捣鼓
当前位置: 首页 > web开发  > Asp.net/C#

C#获得某年某月的总天数方法函数

2021/10/22 22:25:55

C#获得某年某月的总天数方法函数其实很简单,我们看看代码具体如何写?// 得到某年某月的天数 public static int GetDaysInMonth(int rYear,int rMonth) { DateTime dt1 = DateTime.Parse(rYear+"-"+rMonth+"-01"); DateTime dt2 = dt1.Ad…

        C#获得某年某月的总天数方法函数其实很简单,我们看看代码具体如何写?

// 得到某年某月的天数
   public static int GetDaysInMonth(int rYear,int rMonth)
   {
    DateTime dt1 = DateTime.Parse(rYear+"-"+rMonth+"-01");
    DateTime dt2 = dt1.AddMonths(1);
    TimeSpan ts = dt2-dt1;
    return (int)ts.TotalDays;
   }

基础知识


TimeSpan结构

        C#两个时间相减,得到一个 TimeSpan 实例,TimeSpan 有一些属性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds、TotalSeconds、Ticks。

举例说明

DateTime dt1= Convert.ToDateTime("2010-1-2 8:43:35");
DateTime dt2=Convert.ToDateTime("2010-1-12 8:43:34");
TimeSpan ts = dt2-dt1;
//ts结果 {9.23:59:59}

        这个的意思是时间dt2比时间dt1多9天23小时9分59秒。

        其中Days就是9,Hours就是 23,Minutes就是 59,Seconds就是 59。

        visual studio 中打印ts是这样的:

{9.23:59:59}
Days: 9
    Hours: 23
    Milliseconds: 0
    Minutes: 59
    Seconds: 59
    Ticks: 8639990000000
    TotalDays: 9.9999884259259257
    TotalHours: 239.9997222222222
    TotalMilliseconds: 863999000.0
    TotalMinutes: 14399.983333333334
    TotalSeconds: 863999.0
  • TimeSpan的TotalDays、TotalHours、TotalMinutes、TotalMilliseconds属性值是怎么换算出来的?

        Ticks,Tick 是一个计时周期,表示一百纳秒,即一千万分之一秒,那么 Ticks 在这里表示总共相差多少个时间周期,即:9 * 24 * 3600 * 10000000 + 23 * 3600 * 10000000 + 59 * 60 * 10000000 + 59 * 10000000 = 8639990000000。3600 是一小时的秒数。

        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。

负数

        上面是较晚的日期减较早的日期,所以各属性值为正数,如果是较早的日期减较晚的日期,则属性值为负数。

        通过以上内容我们知道了C#获得某年某月的总天数方法函数,感谢您访问“我爱捣鼓(www.woaidaogu.com)”网站的内容,希望对大家有所帮助!引用本文内容时,请注明出处!谢谢合作!

相关资讯

  • Visual Studio2010代码块区域折叠起来的快捷键CTRL+K+S

    加#region和#endregion的作用主要是 :可以将这块区域的代码折叠起来,便于查看。 快捷键 CTRL + K + S,选第二个。也可以点击鼠标右键选择‘外侧代码’找到它。 必须是成对出现。就像是一对括号。只是不会被编译。 通过以上内容我们知道了Visual S…

    2021/10/18 21:46:33
  • C#如何判断两个时间的大小?

    C#如何判断两个时间的大小? 其实很简单,我们可以通过C#的一个方法就能解决,下面我们就来说说这个方法。 C# 时间比较方法DateTime.Compare public static int Compare(DateTime t1,DateTime t2) 返回值类型:System.Int32 当结果<0时表…

    2021/10/15 21:42:07
  • 如果房东的猫知道这个她就不会再问今天是星期几了!

    房东的猫如果会敲代码,写个这么简单的小程序她就不会成天喊叫"今天是星期几"了。 /// <summary> /// 获得今天星期几的函数 /// </summary> /// <returns></returns> public string GetDayOfWeek(…

    2021/10/15 21:38:13
  • C#使用身份证号码判断用户是否未成年

    C#如何使用身份证号码来判断用户是否未成年,今天我们就来看看这个C#方法怎么写。 /// <summary> /// 使用身份证号码判断用户是否未成年 /// </summary> /// <param name="num"></param> /// <…

    2021/10/15 21:32:45