c# - 如何添加营业时间?

标签 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

最佳答案

您可以使用 DateTime.ParseExact 的组合, int.Parse , DateTime.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 (所以你想要的结果是不正确的,因为它是下午而不是上午)


就您而言,您必须处理 DropDownListSelectedIndexChanged -事件并使用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/

相关文章:

c# - ASP.NET dotnet框架中缺少System.Net.Sockets? -ASP.NET vNext

sql-server - 在SQL Server中,如何将日期转换为M/D/YYYY格式的字符串? (没有前导零,不是 MM/DD/YYYY)

c# - 将 CSV 上传到 SQL Server

c# - 阻止鼠标光标水平移动,但仍想捕获 MouseMove 事件

c# - 在 asp.net-core 中将模型的属性别名为不同的名称

asp.net - updatepanel asynpostbacktrigger 不会抛出定义的事件?

c# - 在 Asp.Net 中显示确认消息是或否

在 SQL Server 2008 上创建表的 SQL 注释

javascript - 拒绝加载样式表,因为它违反了内容安全策略

c# - 消除本地报告额外的空白页