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

本文关键字:字符串 计算 时间 下拉列表 | 更新日期: 2023-09-27 18:19:25

我有两个下拉列表,其中包含24小时格式的时间,以5分钟为增量递增,例如00:00、00:05、00:10。两个列表都显示字符串

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

我在Visual Studio 2012中使用C#。

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

下面的代码将向您展示如何做到这一点的示例:

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"替换为下拉列表中的值,并计算它们之间的时间跨度。

您可以使用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中拥有所需的一切,例如:

int hours = diff.Hours;      // 0 - 23
int minutes = diff.Minutes;  // 0 - 59
int totalMinutes = (int) diff.TotalMinutes;