c# 时间问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:41:03
DateTime otime;
DateTime ctime;
ctime = DateTime.Parse("2009-4-5 08:21:45");
otime = DateTime.Parse("2009-4-6 12:31:22);
工作时间 9:00-5:00 为有效时间
计算出otime 和 ctime 之间 的工作时间有多少分钟
上面的例子 工作时间就是 5号 8个小时 6号 3个小时31分钟
所以结果就是 480+211= 691 分

我想问下代码该如何写 麻烦大家了
我晕大家看清题目啊 要去除工作外的时间的 。。。。

DateTime otime;
DateTime ctime;
ctime = DateTime.Parse("2009-4-5 08:21:45");
otime = DateTime.Parse("2009-4-6 12:31:22");
TimeSpan t = otime - ctime;
double min=t.TotalDays*480;//一天480分钟;
上面的min应该工作的时间,然后处理一下每天开始工作时间
public double getsmin(DateTime ctime)
{
double smin=0;
DateTime btime = DateTime.Parse("09:00");
TimeSpan t1=ctime-btime;
if(t1.TotalMinutes<0)
{
smin=0;
}
else if(t1.TotalMinutes>0 &&t1.TotalMinutes<480)
{
smin=t1.TotalMinutes
}
else if(t1.TotalMinutes>480)
{
smin=480;
}
return smin;
}

public double getemin(DateTime ctime)
{
double smin=0;
DateTime btime = DateTime.Parse("17:00");
TimeSpan t1=ctime-btime;
if(t1.TotalMinutes<0)
{
smin=-t1.TotalMinutes;
}
else if(t1.TotalMinutes>0)
{
smin=0