如何添加以下两个下拉时间,如下所示: -
在我的应用程序中,我有一个字符串下拉框,显示12小时内可供用户选择的小时数
9am
9.30am
10am
10.30am
11am
11.30am
12pm
12.30pm
etc,
另一个下拉框表示可能的小时数,如
1hour
2hour
3hour
etc
当用户选择第一个下拉菜单后,他/她选择第二个下拉菜单,然后我想添加这些值并选择小时差异
如果用户选择
第一个值= 11.30pm
第二个值= 2小时
然后,我想显示结束时间= 1.30AM
答案 0 :(得分:4)
您可以结合使用DateTime.ParseExact
,int.Parse
,DateTime.AddHours
和DateTime.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
。