我有2个下拉列表,以24小时格式保存时间,以5分钟为增量,例如00:00,00:05,00:10。两个列表都显示字符串
当用户使用这些选择开始和结束时间时,我想计算时差,但我不确定如何将列表中的格式转换为可行时间,有人可以帮忙吗?
我在Visual Studio 2012中使用C#。
答案 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"使用下拉列表中的值,并计算它们之间的时间跨度。