C#关于日期 月 天数 和一年有多少周及根据某年某周获取时间段的计算

/// 当前月有多少天
        /// </summary>
        /// <param name="y"></param>
        /// <param name="m"></param>
        /// <returns></returns>
        public static int HowMonthDay(int y, int m)
        {
            int mnext;
            int ynext;
            if (m < 12)
            {
                mnext = m + 1;
                ynext = y;
            }
            else
            {
                mnext = 1;
                ynext = y + 1;
            }
            DateTime dt1 = System.Convert.ToDateTime(y + "-" + m + "-1");
            DateTime dt2 = System.Convert.ToDateTime(ynext + "-" + mnext + "-1");
            TimeSpan diff = dt2 - dt1;
            return diff.Days;
        }

/**//// <summary>
        /// 得到一年中的某周的起始日和截止日
        /// 年 nYear
        /// 周数 nNumWeek
        /// 周始 out dtWeekStart
        /// 周终 out dtWeekeEnd
        /// </summary>
        /// <param name="nYear"></param>
        /// <param name="nNumWeek"></param>
        /// <param name="dtWeekStart"></param>
        /// <param name="dtWeekeEnd"></param>
        public static void GetWeek(int nYear, int nNumWeek, out   DateTime dtWeekStart, out   DateTime dtWeekeEnd)
        {
            DateTime dt = new DateTime(nYear, 1, 1);
            dt = dt + new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0);
            dtWeekStart = dt.AddDays(-(int)dt.DayOfWeek + (int)DayOfWeek.Monday);
            dtWeekeEnd = dt.AddDays((int)DayOfWeek.Saturday - (int)dt.DayOfWeek + 1);
        }

/**//// <summary>
        /// 求某年有多少周
        /// 返回 int
        /// </summary>
        /// <param name="strYear"></param>
        /// <returns>int</returns>
        public static int GetYearWeekCount(int strYear)
        {
            string returnStr = "";

System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01");
            int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几 
            if (k == 1)
            {
                int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
                int countWeek = countDay / 7 + 1;
                return countWeek;

}
            else
            {
                int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
                int countWeek = countDay / 7 + 2;
                return countWeek;
            }

}

/**//// <summary>
        /// 求当前日期是一年的中第几周
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public static int WeekOfYear(DateTime curDay)
        {
            int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() + "- " + "1-1 ").DayOfWeek);

int days = curDay.DayOfYear;
            int daysOutOneWeek = days - (7 - firstdayofweek);

if (daysOutOneWeek <= 0)
            {
                return 1;
            }
            else
            {
                int weeks = daysOutOneWeek / 7;
                if (daysOutOneWeek % 7 != 0)
                    weeks++;

return weeks + 1;

}

  }

时间: 2024-11-03 03:25:43

C#关于日期 月 天数 和一年有多少周及根据某年某周获取时间段的计算的相关文章

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

日期计算_隔多少天后的日期_两个日期的天数

1 //Date.cpp 2 #include<iostream> 3 #include<time.h> 4 #include<cmath> 5 #include<cstring> 6 using namespace std; 7 //Date_class 8 class Date 9 { 10 private: 11 int year, month, day; 12 int week; //存放星期 13 void IncDay(); //日期增加一天函数

java中计算两个日期之间天数的程序设计。

1 //用java编写出一个以下方法计算两个日期之间天数的程序设计. 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 public class Demo4 { 7 public static void main(String[] args) { 8 try { 9 System.out.println(相差天数("2016-11-30", "2016-5-31"));

使用SQL语句查询日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串

取某月天数:select day(dateadd(month,1,'2012-02-01')-1) --当月天数 select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0))) ---当月第一天 select dateadd(d,-day(getdate())+1,getdate()) ---当月最后一天 select dateadd(d,-1,dateadd(m,1,dateadd(d,-day(getdate())+1,g

delphi 判断给定日期的天数,给定日期距离月初的天数,给定日期距离月末的天数

uses dateutils; //判断给定日期的天数 label1.caption := inttostr(DaysInAMonth(yearof(StrToDate(Trim(Edit_riqi.Text))),monthof(StrToDate(Trim(Edit_riqi.Text))) )); //给定日期距离月初的天数 label2.caption := inttostr(dayof(StrToDate(Trim(Edit_riqi.Text)) )-1); //给定日期距离月末的天

日期增加天数--JS Date

//日期加天数的方法 //dataStr日期字符串 //dayCount 要增加的天数 //return 增加n天后的日期字符串 function dateAddDays(dataStr,dayCount) {     var strdate=dataStr; //日期字符串     var isdate = new Date(strdate.replace(/-/g,"/"));  //把日期字符串转换成日期格式     isdate = new Date((isdate/1000+

Oracle function实现根据输入的日期以及天数,获取此日期之后的天数的工作日

前提:在法定节日表(t_fdjr )中维护法定节日包括周六周天 /** * 功能描述:根据输入的日期以及天数,获取此日期之后的天数的工作日 * 输入参数: * i_date YYYY-MM-DD * i_day 天数 */ create or replace function fun_get_workday(i_date varchar2, i_day number) return varchar2 is k int:=0; d1 date; d2 date; begin k := i_day;

使用javascript比较任意两个日期相差天数(代码)

avascript比较两个日期相差天数,可返回负值,表示后者大于前者. 该函数在IE,firefox下均通过测试. Java代码   /** 比较两个日期相差的天数,可为负值 **/ function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式 var aDate, oDate1, oDate2, iDays; aDate = sDate1.split("-"); oDate1 = new Date(aDate[0],

PHP 计算两个日期间隔天数

PHP 计算两个日期间隔天数,可以使用date_diff( )函数: <?php $datetime1 = date_create('2009-10-11'); $datetime2 = date_create('2009-10-13'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days'); ?> 浏览器输出结果: