数学题求解

shaguakading 2009-05-26 05:57:06
题目:从D1天T1时开始划分时间段,每N小时为一个时间段.
问题:问到D2天T2时,这个时间所在的时间段是几时到几时?

例如:从2009年5月21日9时开始,每7小时为一个时间段,即21日这天的9-16时是一个时间段,16-23时是一个时间段,然后23-6时是一个时间段,以此类推,那么到5月28日10时,这个时间所在的时间段是从几时到几时?
难吧:)
...全文
82 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaguakading 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bw555 的回复:]
5楼写的和我说的算法一样,他用程序实现了下,你自己好好研究下吧,

我说的datediff是vb.net的函数
[/Quote]
弄明白了,你说的很对.给分
另外你说5楼的也对,那我就给点分,尽管看不懂,但5楼毕竟热心
谢谢各位
bw555 2009-05-26
  • 打赏
  • 举报
回复
5楼写的和我说的算法一样,他用程序实现了下,你自己好好研究下吧,

我说的datediff是vb.net的函数
shaguakading 2009-05-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bw555 的回复:]
没啥难度啊,
首先获得获得开始时间和结束时间的间隔小时数,
用datediff很容易得到

然后用小时数除以7,获得余数,
结束时间减去余数,就是结束时间所在时间段的开始时间,

加上7小时就是时间段的结束时间
[/Quote]
(D2*24+T2)-{[(D2-D1)*24+(T2-T1)] MOD N} = 开始时间
(D2*24+T2)+N = 结束时间
是这样么?好像不对耶!

4,5楼的回答我看不懂哦:``(
fengjian_428 2009-05-26
  • 打赏
  • 举报
回复

DateTime dt = new DateTime(2009, 5, 21, 9, 0, 0);//2009/5/20 9:00:00 从这一天9点半开始计算时间段
int intervalHour = 7;
DateTime dtCompare = new DateTime(2009, 5, 28, 10, 0, 0);//2009/5/28 10:00:00 找它的时间段
TimeSpan ts = dtCompare - dt;
int hours = (int)ts.TotalHours;
int i = hours % intervalHour;
int starthour = dtCompare.Hour - i;//得到开始时间
maddemon 2009-05-26
  • 打赏
  • 举报
回复
小时差为 M
M%24=X //去掉没用的天数...

T2= T1+X T2是几点

M%N=Y 剩Y小时没满点..

T1+X+Y=Z满点

Z-N~Z ....
LemIST 2009-05-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bw555 的回复:]
没啥难度啊,
首先获得获得开始时间和结束时间的间隔小时数,
用datediff很容易得到

然后用小时数除以7,获得余数,
结束时间减去余数,就是结束时间所在时间段的开始时间,

加上7小时就是时间段的结束时间
[/Quote]
是的!!
bw555 2009-05-26
  • 打赏
  • 举报
回复
没啥难度啊,
首先获得获得开始时间和结束时间的间隔小时数,
用datediff很容易得到

然后用小时数除以7,获得余数,
结束时间减去余数,就是结束时间所在时间段的开始时间,

加上7小时就是时间段的结束时间

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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