如何增加时间?

时间:2014-09-17 11:18:59

标签: c# asp.net sql-server-2008

如何添加以下两个下拉时间,如下所示: -

在我的应用程序中,我有一个字符串下拉框,显示12小时内可供用户选择的小时数

9am
9.30am
10am
10.30am
11am
11.30am
12pm
12.30pm
etc,

另一个下拉框表示可能的小时数,如

1hour
2hour
3hour
etc

当用户选择第一个下拉菜单后,他/她选择第二个下拉菜单,然后我想添加这些值并选择小时差异

如果用户选择

第一个值= 11.30pm

第二个值= 2小时

然后,我想显示结束时间= 1.30AM

1 个答案:

答案 0 :(得分:4)

您可以结合使用DateTime.ParseExactint.ParseDateTime.AddHoursDateTime.ToString

DateTime dt = DateTime.ParseExact("11.30am", "hh.mmtt", CultureInfo.InvariantCulture); 
var digits = "2hours".TakeWhile(Char.IsDigit);  // take only the first digit(s)
int hours = int.Parse(new string(digits.ToArray()));
String result = dt.AddHours(hours).ToString("h.mmtt", CultureInfo.InvariantCulture);

结果:1.30PM(因此您所需的结果不正确,因为它是PM而不是AM)


在您的情况下,您必须处理DropDownList的{​​{1}} - 事件并使用SelectedIndexChanged属性。但无论如何,你应该在SelectedValue中使用更多有用的值。

例如:

ListItem

您可以使用<asp:DropDownList id="DdlTime" runat="server" OnSelectedIndexChanged="OnSelectedIndexChangedMethod"> <asp:ListItem value="690"> 11.30am </asp:ListItem> etc.... </asp:DropDownList> TimeSpan.FromMinutes(int.Parse(ddlTime.SelectedValue))或直接TimeSpan