两个时间段 ,一个时间段占用另一个时间段 几天几月

问题描述

有两个时间段时间段a:为1.8-6.8日每个月的节点为每月8号时间段b:为2.3-5.28日问时间段b占用时间段a第一月多少天几个满月最后一月多少天

解决方案

解决方案二:
问题没说清楚啊。==========时间段a:为1.8-6.8日每个月的节点为每月8号时间段b:为2.3-5.28日问时间段b占用时间段a第一月多少天几个满月最后一月多少天=======b占有时间段a第一月多少天?0天。几个满月?三月,四月。两满月。呵呵,楼主是问这个吗?
解决方案三:
staticvoidDateRangeCheck(DateTimedt1Start,DateTimedt1End,DateTimedt2Start,DateTimedt2End){vardtStart=newDateTime[]{dt1Start,dt2Start}.Max();vardtEnd=newDateTime[]{dt1End,dt2End}.Min();Console.WriteLine("时间2占用时间1天数:"+((dtEnd-dtStart).TotalDays+1));Console.WriteLine("占用最后一个月天数:"+dtEnd.Day);}

DateRangeCheck(newDateTime(2015,1,8),newDateTime(2015,6,8),newDateTime(2015,2,3),newDateTime(2015,5,28));

解决方案四:
引用1楼fanchka的回复:

问题没说清楚啊。==========时间段a:为1.8-6.8日每个月的节点为每月8号时间段b:为2.3-5.28日问时间段b占用时间段a第一月多少天几个满月最后一月多少天=======b占有时间段a第一月多少天?0天。几个满月?三月,四月。两满月。呵呵,楼主是问这个吗?

时间a是一个时间区间每月8号为每月的结束天问时间b占用了时间a几个满月(8号到下月7号为一个满月)最后一期为多少天
解决方案五:
引用2楼starfd的回复:

staticvoidDateRangeCheck(DateTimedt1Start,DateTimedt1End,DateTimedt2Start,DateTimedt2End){vardtStart=newDateTime[]{dt1Start,dt2Start}.Max();vardtEnd=newDateTime[]{dt1End,dt2End}.Min();Console.WriteLine("时间2占用时间1天数:"+((dtEnd-dtStart).TotalDays+1));Console.WriteLine("占用最后一个月天数:"+dtEnd.Day);}

DateRangeCheck(newDateTime(2015,1,8),newDateTime(2015,6,8),newDateTime(2015,2,3),newDateTime(2015,5,28));

时间a是一个时间区间每月8号为每月的结束天问时间b占用了时间a几个满月(8号到下月7号为一个满月)最后一期为多少天
解决方案六:
staticvoidDateRangeCheck(DateTimedt1Start,DateTimedt1End,DateTimedt2Start,DateTimedt2End){vardtStart=newDateTime[]{dt1Start,dt2Start}.Max();vardtEnd=newDateTime[]{dt1End,dt2End}.Min();vartmpDate=newDateTime(dtStart.Year,dtStart.Month,1);varnextDate=tmpDate.AddMonths(1);Console.WriteLine("占用第一个月天数:"+((nextDate-tmpDate).Days-dtStart.Day));if(dtStart.Day==1){nextDate=dtStart;}varmonth=0;while(nextDate.AddMonths(month+1)<dtEnd){month++;}Console.WriteLine("占用满月数:"+month);Console.WriteLine("占用最后一个月天数:"+dtEnd.Day);}

解决方案七:
8号为结束日的话,那将日期部分的1改为8就可以了
解决方案八:
是这样啊。根据楼主的意图,我们假设:时间段a,包含时间段b。如此,我们可以这么做:voidDump(DateTimea_begin,DateTimea_end,DateTimeb_begin,DateTimeb_end){Consol.WriteLine("b占a的第一个月:{0}天。",b_bein.Day-8);Consol.WriteLine("b占a的最后一个月:{0}天。",b_end.Day-8);DateTimebegin=(b_begin.Day>8)?b_begin.AddDays(-b_begin.Day).AddMonths(1):b_begin.AddDays(-b_begin.Day);DateTimeend=(b_end.Day>8)?b_end.AddDays(b_end.Day):b_end.AddDays(-b_begin.Day).AddMonths(-1);Consol.WriteLine("b占a的{0}个满月。",((end.Year-begin.Year)*12+end.Month-begin.Month));}
解决方案九:
-8小于0,则把差值加一个月。(补充一下)

时间: 2024-08-29 05:08:53

两个时间段 ,一个时间段占用另一个时间段 几天几月的相关文章

java求一个如何切分多个时间段算法

问题描述 java求一个如何切分多个时间段算法 例如现在有时间 5.13-10.1 5.3-6.1 6.1-6.2 怎么能变成 5.3-5.13 5.13-6.1 6.1-6.2 解决方案 先按照 杠 把所有日期拆分出来,然后按照你的规则排序,然后从第二个开始,到倒数第二个,每个和它前面及后面的组成一组

成员函数-关于实例化一个类时占用的内存大小问题

问题描述 关于实例化一个类时占用的内存大小问题 在PHP语言中,写一个类,如果类的成员函数 很多,会不会增大实例化这个类时占用的内存?如下:class abc{public function __construct(){xxxxxx;xxxxxx;}public function a(){xxxxxx;}public function b(){xxxxxxx;}}//classs那当我实例化它时,是不是函数 越多占的内存越大? 解决方案 函数当然占用一些空间,但是要分清楚函数和调用函数两个概念.

用jxl把两个excel的sheet合并成一个excel

问题描述 怎样用jxl把两个excel的sheet合并成一个excel 解决方案 解决方案二:可以用importsheet()方法

jwplayer-Jwplayer 两个mp4文件,一个可以播放,一个不可以播放

问题描述 Jwplayer 两个mp4文件,一个可以播放,一个不可以播放 大家好,我现在的网页采用jwplayer播放mp4文件,一个可以播放,一个不可以播放. 求解决思路!谢谢! 1)两个文件在本地采用播放软件,如系统自带WMP的都可以正常播放. 2)两个文件的编码格式是一样的,详情如下:(右侧,who.mp4为正常播放的文件) 完整信息如下: General Complete name : possi.mp4 Format : MPEG-4 Format profile : Base Med

c语言-C语言将两个递增有序单链表归并为一个降序的单链表,求大侠帮忙看看

问题描述 C语言将两个递增有序单链表归并为一个降序的单链表,求大侠帮忙看看 #include #include #define N 8 typedef struct list { char c; struct list *next; } SLIST; SLIST *creat(char *a) { SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST)); for(i=0; i { q=(SLIST *)malloc(sizeof(SLI

数据-急!请教这个sql语句怎么写:两个条件查询,其中一个满足,另一个条件就不要加了

问题描述 急!请教这个sql语句怎么写:两个条件查询,其中一个满足,另一个条件就不要加了 条件2始终存在,条件1不一定始终有.条件1.条件2的数据可能同时存在,但是 当有条件1的数据存在的时候,显示条件1的数据: 如果没有,则显示条件2的数据的数据. 解决方案 select * from table where (条件1 and not exist (select * from table where 条件2)) or (条件2 and not exist (select * from tabl

java代码-在frame中添加两个panel后影响到第一个panel的事件监听

问题描述 在frame中添加两个panel后影响到第一个panel的事件监听 自己写的一个贪食蛇游戏,游戏已经用gamePanel 实现 按键事件 监听器 正常运行,但是在frame上添加optionalPanel后 有不能操控贪食蛇了!!!求解 public static void main(String args[]) { Snake snake=new Snake(); Food food=new Food(); Ground ground=new Ground(); GamePanel

有没有会编写c程序的大神,帮我看看两个单独的程序怎么合成一个程序,谢谢

问题描述 有没有会编写c程序的大神,帮我看看两个单独的程序怎么合成一个程序,谢谢 #include #include struct e { char a[10]; char b[10]; }z; int main() { int t=0; char s[10],d[10]; FILE *p; void as(); if ((p=fopen("m.txt","r+"))==NULL) { p=fopen("m.txt","w+"

sql语句-如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表。

问题描述 如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表. 有A.B.C三张表如下, 表 A 表B 学生ID(主键) 学生名称 课程ID(主键)| 课程名称 表 C 学生ID 课程ID (联合主键) 那么,通过SQL语句操作如何用学生姓名和课程名(只能获取学生姓名和课程名)将课程ID和学生ID插入到C表(C表中有课程ID和学生ID并且是联合主键),感激不尽. 解决方案 你可以定义2个变量,分别从表A表B用名称查询到ID.在表C的新增语句中使用这2个变量. 不过你这