从下拉列表中的字符串计算时间

时间:2015-10-26 11:30:18

标签: c# asp.net

我有2个下拉列表,以24小时格式保存时间,以5分钟为增量,例如00:00,00:05,00:10。两个列表都显示字符串

当用户使用这些选择开始和结束时间时,我想计算时差,但我不确定如何将列表中的格式转换为可行时间,有人可以帮忙吗?

我在Visual Studio 2012中使用C#。

2 个答案:

答案 0 :(得分:1)

您可以使用DateTime.ParseExact

DateTime dt1 = DateTime.ParseExact(ddl1.SelectedValue, "HH:mm",DateTimeFormatInfo.InvariantInfo);
DateTime dt2 = DateTime.ParseExact(ddl2.SelectedValue, "HH:mm",DateTimeFormatInfo.InvariantInfo);
TimeSpan diff = dt2 - dt1;

现在,您可以在TimeSpan,f.e。:

中获得所需的一切
int hours = diff.Hours;      // 0 - 23
int minutes = diff.Minutes;  // 0 - 59
int totalMinutes = (int) diff.TotalMinutes;

答案 1 :(得分:1)

下面的代码将向您展示如何执行此操作的示例:

DateTime d1 = DateTime.Parse("00:00");
DateTime d2 = DateTime.Parse("00:05");
TimeSpan s1 = d2-d1;
Console.WriteLine(s1.TotalMinutes + " minutes difference");

您可以更换字符串" 00:00"和" 00:05"使用下拉列表中的值,并计算它们之间的时间跨度。