计算两个时间之间工作日的小时数

amu0528 2008-03-11 04:10:35
工作时间是0830-1700
比如:2008-03-11 0708至2008-03-12 1708 或 2008-03-11 0908至2008-03-12 1708
要计算这两个时间的有效的工作小时数
...全文
488 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
amu0528 2008-03-11
  • 打赏
  • 举报
回复
DateTime d1 = Convert.ToDateTime(TextBox1.Text);
DateTime d2 = Convert.ToDateTime(TextBox2.Text);
TimeSpan t= d2.Subtract(d1);
int c = 0;
for(int i=0;i<t.TotalMinutes;i++)
{
DateTime d3 = d1.AddMinutes(i);
//8:30 到 17:00 为有效的工作时间
if((d3.Hour*60+d3.Minute)>=510 && (d3.Hour*60+d3.Minute)<1020)
{
c++;
}

}
this.TextBox3.Text = c.ToString();
自己解决了 c是工作的分钟数
谢谢各位 阿 哈哈 还是自己想想有意思
amu0528 2008-03-11
  • 打赏
  • 举报
回复
t
  • 打赏
  • 举报
回复
您是指除去休息时间?
DateTime d1 =new DateTime(2004,1,1,15,36,05);
DateTime d2 =new DateTime(2004,3,1,20,16,35);

TimeSpan d3 = d2.Subtract(d1);

LbTime.Text = "相差:"
+(d3.Hours.ToString()-休息时间)+"小时"
yaomin1985 2008-03-11
  • 打赏
  • 举报
回复
DateTime dStarttime=Convert.ToDateTime("2008-03-11 07:08");
DateTime dEndDateTime=Convert.ToDateTime("2008-03-12 17:08");

TimeSpan ts = dEndDateTime - dStarttime ;
//计算小时数
int hours=0;
int minutes=0;
hours = Convert.ToInt32(ts.Days.ToString());
if(hours!=0)
{
minutes = hours*24;
}
int differenceInhours = ts.Hours+minutes;
Response.Write(differenceInhours);
amu0528 2008-03-11
  • 打赏
  • 举报
回复
但我要计算这两个时间的有效的工作小时数
popeye627 2008-03-11
  • 打赏
  • 举报
回复
select DATEDIFF(hour,'2008-03-11 09:08','2008-03-12 17:08') 时差

时差
-----------
32

(1 個資料列受到影響)
amu0528 2008-03-11
  • 打赏
  • 举报
回复
f
amu0528 2008-03-11
  • 打赏
  • 举报
回复
c
cnjjmq 2008-03-11
  • 打赏
  • 举报
回复
楼上的不看题目,楼主不动脑子。。。
amu0528 2008-03-11
  • 打赏
  • 举报
回复

谢谢各位

但我要计算这两个时间的有效的工作小时数
amu0528 2008-03-11
  • 打赏
  • 举报
回复
d
lizheng__114 2008-03-11
  • 打赏
  • 举报
回复
DateTime end = 结束时间;
DateTime dt = 开始时间;
TimeSpan ts = end - dt;
int hour = ts.Hours;
jasluen 2008-03-11
  • 打赏
  • 举报
回复
DateTime dStarttime=Convert.ToDateTime("2008-03-11 07:08");
DateTime dEndDateTime=Convert.ToDateTime("2008-03-12 17:08");

TimeSpan ts = dStarttime - dEndDateTime;
//计算小时数
int differenceInhours = ts.Hours;

patrickpan 2008-03-11
  • 打赏
  • 举报
回复
DateTime d1 =new DateTime(2004,1,1,15,36,05);
DateTime d2 =new DateTime(2004,3,1,20,16,35);

TimeSpan d3 = d2.Subtract(d1);

LbTime.Text = "相差:"
+d3.Days.ToString()+"天"
+d3.Hours.ToString()+"小时"
+d3.Minutes.ToString()+"分钟"
+d3.Seconds.ToString()+"秒";

62,244

社区成员

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

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

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

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