两个时间段,获取重复的部分。

手可摘星辰 2011-09-21 09:24:39
如题又重复的部分返回重复的时间段,没有则false
...全文
274 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
手可摘星辰 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dongxinxi 的回复:]

C# code
DateTime[] starts = { DateTime.Now, DateTime.Now.AddDays(-12) };
DateTime[] ends = { DateTime.Now.AddMonths(1), DateTime.Now.AddDays(1) };
if (starts.Ma……
[/Quote]
霸道啊,这脑子。佩服
手可摘星辰 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sanjiawan 的回复:]

引用 7 楼 touzilk 的回复:
引用 6 楼 sanjiawan 的回复:

引用 4 楼 touzilk 的回复:
引用 3 楼 sanjiawan 的回复:

引用 2 楼 touzilk 的回复:
引用 1 楼 hao1hao2hao3 的回复:

引用楼主 touzilk 的回复:
如题又重复的部分返回重复的时间段,没有则false


描述清楚一点吧!……
[/Quote]
http://topic.csdn.net/u/20110921/22/610ec819-7ca5-4104-a74c-c361cbf17b16.html?37193
看看这个
sanjiawan 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 touzilk 的回复:]
引用 6 楼 sanjiawan 的回复:

引用 4 楼 touzilk 的回复:
引用 3 楼 sanjiawan 的回复:

引用 2 楼 touzilk 的回复:
引用 1 楼 hao1hao2hao3 的回复:

引用楼主 touzilk 的回复:
如题又重复的部分返回重复的时间段,没有则false


描述清楚一点吧!贴出你的测试数据和你要的结果。。。


……
[/Quote]
啊 面试题啊 LZ面试经历+1 哪个帖子
  • 打赏
  • 举报
回复
上面有个前提:同索引上的end必须不小于start,否则swap一下
  • 打赏
  • 举报
回复
              DateTime[] starts = { DateTime.Now, DateTime.Now.AddDays(-12) };
DateTime[] ends = { DateTime.Now.AddMonths(1), DateTime.Now.AddDays(1) };
if (starts.Max() < ends.Min())
Response.Write(string.Concat(starts.Max().ToString(), " - ", ends.Min().ToString()));
else
Response.Write("没有重叠时间段");
手可摘星辰 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sanjiawan 的回复:]

引用 4 楼 touzilk 的回复:
引用 3 楼 sanjiawan 的回复:

引用 2 楼 touzilk 的回复:
引用 1 楼 hao1hao2hao3 的回复:

引用楼主 touzilk 的回复:
如题又重复的部分返回重复的时间段,没有则false


描述清楚一点吧!贴出你的测试数据和你要的结果。。。


C# code

DateTime end……
[/Quote]
有道理,这他娘是到面试题。看看我发的那个帖子
sanjiawan 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 touzilk 的回复:]
引用 3 楼 sanjiawan 的回复:

引用 2 楼 touzilk 的回复:
引用 1 楼 hao1hao2hao3 的回复:

引用楼主 touzilk 的回复:
如题又重复的部分返回重复的时间段,没有则false


描述清楚一点吧!贴出你的测试数据和你要的结果。。。


C# code

DateTime end = System.DateTime.Now……
[/Quote]
给个思路吧
获取一个时间段对吧 那么一定有起始时间和结束时间 假设t1和t2
那么另一个时间段也是一样的 假设T1和T2
1.比较t2和T2的大小 假设T2更大
2.判断T1是否大于t1并小于t2 如果是就说明包含了
而且包含的时间段就是t2到T1

手可摘星辰 2011-09-21
  • 打赏
  • 举报
回复
这是一道面试题,原题是:分别给定两个时间段的开始时刻与截止时间,Tstar1,Tend1,以级Tstart2,Tend2。要求判断两个时间段是否有公共重叠的部分,如果有则返回公共重叠部分时间段的长度,如果没有则返回两个时间段之间的时间间隔长度。
手可摘星辰 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sanjiawan 的回复:]

引用 2 楼 touzilk 的回复:
引用 1 楼 hao1hao2hao3 的回复:

引用楼主 touzilk 的回复:
如题又重复的部分返回重复的时间段,没有则false


描述清楚一点吧!贴出你的测试数据和你要的结果。。。


C# code

DateTime end = System.DateTime.Now.AddMonths(1);
DateTime……
[/Quote]


这只是个例子……像这样都能看出来,能不能写个方法,什么的
sanjiawan 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 touzilk 的回复:]
引用 1 楼 hao1hao2hao3 的回复:

引用楼主 touzilk 的回复:
如题又重复的部分返回重复的时间段,没有则false


描述清楚一点吧!贴出你的测试数据和你要的结果。。。


C# code

DateTime end = System.DateTime.Now.AddMonths(1);
DateTime star1 = S……
[/Quote]

楼主 你的意思是start1~start2 是一个时间段
end1~end2是一个时间段 这两个时间段有没有重叠的时间段对吗
如果是这样 那永远都是true

你的重叠按你给出程序的代码 你的重叠时间一直都是
DateTime star1 = System.DateTime.Now;
DateTime end2 = System.DateTime.Now.AddMonths(1).AddDays(2);
重叠时间就是 star1到end2
手可摘星辰 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hao1hao2hao3 的回复:]

引用楼主 touzilk 的回复:
如题又重复的部分返回重复的时间段,没有则false


描述清楚一点吧!贴出你的测试数据和你要的结果。。。
[/Quote]

DateTime end = System.DateTime.Now.AddMonths(1);
DateTime star1 = System.DateTime.Now;
DateTime end2 = System.DateTime.Now.AddMonths(1).AddDays(2);
DateTime star2 = System.DateTime.Now;


得到他们重叠的时间段
hao1hao2hao3 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 touzilk 的回复:]
如题又重复的部分返回重复的时间段,没有则false
[/Quote]

描述清楚一点吧!贴出你的测试数据和你要的结果。。。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧