asp.net小时和小时如何作加法

mengjun5200 2010-09-01 09:08:36
比如数据库里有2个字段,值是"2:20"和"1:58",我想取出来作加法算总的时间

2:20+1:58=4:18


在asp.net中如何实现,不要sql里实现


...全文
187 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
shellwin 2010-09-01
  • 打赏
  • 举报
回复
这个TimeSpan 好使
Adechen 2010-09-01
  • 打赏
  • 举报
回复
不考虑性能,addhours、AddMinutes慢慢加
Teng_s2000 2010-09-01
  • 打赏
  • 举报
回复
TimeSpan
shichao102471077 2010-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
DateTime.Parse("")
AddHours
或TimeSpan
[/Quote]
学习了。。前段时间好像我也问过这样的问题。。可是没弄出来。。
xnfriday 2010-09-01
  • 打赏
  • 举报
回复
好像有现成类吧..
pdsnet 2010-09-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xingshungames 的回复:]

TimeSpan
[/Quote]查这个的用法吧
qinggeer 2010-09-01
  • 打赏
  • 举报
回复
/// <summary>
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="DateTime1">第一个日期和时间</param>
/// <param name="DateTime2">第二个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;

TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"
+ ts.Hours.ToString()+"小时"
+ ts.Minutes.ToString()+"分钟"
+ ts.Seconds.ToString()+"秒";

return dateDiff;
}

先算出两个时间差。
然后再用用AddHours()、 AddMinutes来一个个加吧?
liyingjie5360 2010-09-01
  • 打赏
  • 举报
回复
用AddHours()
或用split将其分割后,转化为整型再对它进行运算,然后再分别转化为string类型的,再在中间加上“:”,将这三年字符串连接起来,将它整体转化为DateTime类型的。。。
第二种方法有点麻烦,但是蛮好理解的。。。
porschev 2010-09-01
  • 打赏
  • 举报
回复
这样不管怎样都能加。。。

但是如果你小时相加超过24了呢?

是为用加出来的时间减24吗?
klyh1207 2010-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
DateTime.Parse("")
AddHours
或TimeSpan
[/Quote]
+
xingshungames 2010-09-01
  • 打赏
  • 举报
回复
TimeSpan
yao991118 2010-09-01
  • 打赏
  • 举报
回复
先单独取出分,相加
if判断如果>60,相加的数据-60=a;
然后小时相加在+1
wuyq11 2010-09-01
  • 打赏
  • 举报
回复
DateTime.Parse("")
AddHours
或TimeSpan
ibatis 2010-09-01
  • 打赏
  • 举报
回复
split
myhope88 2010-09-01
  • 打赏
  • 举报
回复
可以把它们转换成时间再加呗,或者以分号分隔出时和分,然后自己弄个算法相加
chinalinx 2010-09-01
  • 打赏
  • 举报
回复
用split 来处理, 字符转int 型,加好,再转字符串,
laichunlin 2010-09-01
  • 打赏
  • 举报
回复
DateTime d1=convert.toDateTime("2:20")+convert.toDateTime("1:58")

或者
string d1="2:20";
string[] d11=d1.split(new char[]{':'});

string d2="1:58";
string[] d22=d2.split(new char[]{':'});

int h=convert.toInt32(d11[0].toString())+convert.toInt32(d22[0].toString());
int m=convert.toInt32(d11[1].toString())+convert.toInt32(d22[1].toString());

DateTime t=convert.toDateTime(h+":"+m);
转换成时间然后做加法。

62,046

社区成员

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

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

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

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