如何添加以下两个下拉时间,如下所示:-
在我的应用程序中,我有一个字符串下拉框,显示 12 小时内可能的时间供用户选择
9am
9.30am
10am
10.30am
11am
11.30am
12pm
12.30pm
etc,
另一个字符串下拉框显示可能的时间,例如
1hour
2hour
3hour
etc
当用户选择第一个下拉列表然后选择第二个下拉列表时,我想添加这些值并选择小时差,例如
如果用户选择
第一个值=11.30pm
第二个值=2小时
然后,我想显示结束时间=1.30AM
最佳答案
您可以使用 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
(所以你想要的结果是不正确的,因为它是下午而不是上午)
就您而言,您必须处理 DropDownList
的SelectedIndexChanged
-事件并使用SelectedValue
属性(property)。但是您应该在 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
或直接DateTime.Today.AddMinutes(int.Parse(ddlTime.SelectedValue))
.
关于c# - 如何添加营业时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25889134/