Hun*_*ell 44 c# datetime timespan
我有两个文本框.一个用于时钟,一个用于时钟输出.时间将采用以下格式:
Hours:Minutes
Run Code Online (Sandbox Code Playgroud)
可以说我已经在上午7点钟进入,并在下午2点钟出发.
使用我当前的代码,我得到2小时的差异,但它应该是7小时.我怎么会在C#中做到这一点.通过让用户选择AM或PM,我将转换为24小时,但我感到困惑.
所以,基本上,我如何计算两次之间的小时数差异?
我试过这个,但是当我插入数字时,却得了2个小时而不是7个小时.
DateTime startTime = Convert.ToDateTime(textBox1.Text);
DateTime endtime = Convert.ToDateTime(textBox2.Text);
TimeSpan duration = startTime - endtime;
Run Code Online (Sandbox Code Playgroud)
Kit*_*124 83
string startTime = "7:00 AM";
string endTime = "2:00 PM";
TimeSpan duration = DateTime.Parse(endTime).Subtract(DateTime.Parse(startTime));
Console.WriteLine(duration);
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
将输出:07:00:00.
如果用户输入军事时间,它也有效:
string startTime = "7:00";
string endTime = "14:00";
TimeSpan duration = DateTime.Parse(endTime).Subtract(DateTime.Parse(startTime));
Console.WriteLine(duration);
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
输出:07:00:00.
要更改格式: duration.ToString(@"hh\:mm")
有关更多信息,请访问: http ://msdn.microsoft.com/en-us/library/ee372287.aspx
附录:
多年来,我有点困扰我,这是我给过的最流行的答案; 原来的答案从来没有真正解释了为什么OP的码并未尽管事实上,它的工作是非常有效的.获得如此多选票的唯一原因是因为当人们搜索"C#","timespan"和"between"之间的组合时,该帖子会出现在Google上.
Tim*_*ner 11
你可以使用TimeSpan构造函数,这对Ticks来说需要很长时间:
TimeSpan duration = new TimeSpan(endtime.Ticks - startTime.Ticks);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
158738 次 |
最近记录: |