C#如何进行时间相加和相减?

dvdvip 2009-05-14 12:47:32
C#如何进行时间相加和相减?

例如,


TextBox1.Text=@"14:44:38";
TextBox2.Text=@"22:32:06";


Label1.Text=TextBox2的时间+TextBox1的时间;
Label2.Text=TextBox2的时间-TextBox1的时间;



我想知道,C#里,如何用代码实现时间计算的。

不能让用户自己来计算。时间太麻烦了。
...全文
960 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
llw112300 2009-10-15
  • 打赏
  • 举报
回复
错了.

TimeSpan midTime = TimeSpan.Parse(TextBox2.Text);
llw112300 2009-10-15
  • 打赏
  • 举报
回复
相减的有人回了.我给你回个相加的吧

DateTime beginTime1 = DateTime.Parse(TextBox1.Text);
TimeSpan midTime = TimeSpan.Parse(TextBox1.Text);
this.Label1.Text= beginTime1.Add(midTime).ToString();

wartim 2009-05-16
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 dvdvip 的回复:]
引用 17 楼 wartim 的回复:
引用 16 楼 dvdvip 的回复:
zhu4139365果然利害。

谁说时间相加没意义?会议开始时间为22:23:47. 会议持续时间为09:49:55.

会议结束时间,你能不动脑,100%准确无误地口算出来?

做不出来,就说没意义。


22:23:47 是时间 datetime
09:49:55 是时间段, timespan 而不是时间datetime
是指提的问题本来就有语病
问题本身再简单不过了

09:49:55 是时间…
[/Quote]

不是难理解,是你说的不妥当,仅此而已,提个醒而已,因为上面已经有人没仔细看而误解了。从一看见你的题目,我就知道你什么意思了,有理解有什么鸟关系
dvdvip 2009-05-16
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 wartim 的回复:]
引用 16 楼 dvdvip 的回复:
zhu4139365果然利害。

谁说时间相加没意义?会议开始时间为22:23:47. 会议持续时间为09:49:55.

会议结束时间,你能不动脑,100%准确无误地口算出来?

做不出来,就说没意义。


22:23:47 是时间 datetime
09:49:55 是时间段, timespan 而不是时间datetime
是指提的问题本来就有语病
问题本身再简单不过了
[/Quote]




09:49:55 是时间段, 这就是表示开会时间长为9个小时49分55秒。

我只是写法上和时刻的表示方式相同。没什么难理解的。因为用户在TextBox1里输入的开会的开始时刻格式,应该和TextBox2里输入的开会时间的格式保持一致。你不能突然让它在TextBox2里,用中文写上:开会时间长为9个小时49分55秒
wartim 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 dvdvip 的回复:]
zhu4139365果然利害。

谁说时间相加没意义?会议开始时间为22:23:47. 会议持续时间为09:49:55.

会议结束时间,你能不动脑,100%准确无误地口算出来?

做不出来,就说没意义。
[/Quote]

22:23:47 是时间 datetime
09:49:55 是时间段, timespan 而不是时间datetime
是指提的问题本来就有语病
问题本身再简单不过了
dvdvip 2009-05-15
  • 打赏
  • 举报
回复
zhu4139365果然利害。

谁说时间相加没意义?会议开始时间为22:23:47. 会议持续时间为09:49:55.

会议结束时间,你能不动脑,100%准确无误地口算出来?

做不出来,就说没意义。
zgke 2009-05-14
  • 打赏
  • 举报
回复
使用TimeSpan
ginni215 2009-05-14
  • 打赏
  • 举报
回复
转换成timespan,时间间隔,然后在进行加减运算~~
zlb789 2009-05-14
  • 打赏
  • 举报
回复
转换成时间类型 然后用timespan 取2个时间之差
love_幸运儿 2009-05-14
  • 打赏
  • 举报
回复
转换为DataTime类型,然后调用相应的函数进行运算.
wartim 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 dvdvip 的帖子:]
C#如何进行时间相加和相减?

例如,


C# codeTextBox1.Text=@"14:44:38";
TextBox2.Text=@"22:32:06";


Label1.Text=TextBox2的时间+TextBox1的时间;
Label2.Text=TextBox2的时间-TextBox1的时间;




我想知道,C#里,如何用代码实现时间计算的。

不能让用户自己来计算。时间太麻烦了。
[/Quote]

你先看看你的要求符合不符合逻辑啊,别让别人总认为我们程序员的想法都很古怪啊
现在下午1点,过3个半小时后是几点?下午4点半
现在下午1点,过下午2点后是几点?没这么问问题的吧
ch5201314zt 2009-05-14
  • 打赏
  • 举报
回复
很简单,微软封装好了的 只要把两个TextBox里面的内容转换为时间类型
我记得直接想减都可以
Jelly_tracy 2009-05-14
  • 打赏
  • 举报
回复
TimeSpan应该可以满足你的要求
Error_Code 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 Linux7985 的回复:]
时间的相加是没有意义的
[/Quote]
Agree,, DateTime+TimeSpan 才OK
GeoffreyRen1972 2009-05-14
  • 打赏
  • 举报
回复
datetime.add(..)
烈火蜓蜻 2009-05-14
  • 打赏
  • 举报
回复
时间的相加是没有意义的
hanhanmj 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Hack95 的回复:]
C# code
TimeSpan ts = Convert.toDateTime(txb1.text) - Convert.toDateTime(txb2.text)
txb3.text=ts.toString();
[/Quote]

up......!!
柳晛 2009-05-14
  • 打赏
  • 举报
回复

TimeSpan ts = Convert.toDateTime(txb1.text) - Convert.toDateTime(txb2.text)
txb3.text=ts.toString();
-无-为- 2009-05-14
  • 打赏
  • 举报
回复
不会 顶一下
修改一下昵称 2009-05-14
  • 打赏
  • 举报
回复
up
加载更多回复(1)

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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