c# - 如何验证输入时间是否在asp.net C#中的给定时间范围内?
问题描述
我的时间范围是 08:00 AM 到 03:00 PM。
如果所选输入时间不在此范围内,则应抛出错误消息。
这个怎么做?有人可以帮帮我吗?
protected void txtTimeIn_TextChanged(object sender, EventArgs e)
{
DateTime time = Convert.ToDateTime(txtTimeIn.Text);
TimeSpan start = new TimeSpan(8, 0, 0);
TimeSpan end = new TimeSpan(15, 0, 0);
TimeSpan now = new TimeSpan(time.Ticks);
if ((now > start) && (now < end))
{
lblIN.Visible = false;
}
else
{
lblIN.Visible = true;
}
}
当我选择错误的时间显示标签时,但是一旦我更改并选择正确的时间,标签就不会消失。
解决方案
public void Page_Load(object sender, EventArgs e)
{
TimeSpan startTime = new TimeSpan(8, 0, 0); // 8 AM
TimeSpan endTime = new TimeSpan(15, 0, 0); // 3 PM
if (DateTime.Now.TimeOfDay > startTime && DateTime.Now.TimeOfDay < endTime)
{
// Execute logic
}
}
这是检查当前日期时间的快速简便的解决方案。显然你说你有一个“选定的日期”,但我没有看到任何地方,所以如果需要,只需将其转换为 DateTime。
推荐阅读
- go - 在我获得用户输入之前,TCP 连接正在关闭
- html - 对齐下拉菜单中的文本
- kubernetes - kubectl apply 不会更新服务选择器标签
- ios - 为什么 HTML5 Media Source 视频不能在 IOS 上运行?
- amazon-s3 - 在不同的 IAM 角色下运行 AWS Lambda 函数
- r - 在使用 R 中的 igraph 生成 k-正则图时,每个 k-正则图是否都是唯一且非随机的?
- ios - 将 Timer 添加到主 RunLoop 是正确的解决方案吗?
- java - 单击后获取警报对话框项目列表以显示在不同的片段、适配器或活动中
- mysql - 仅用于配置数据的名称-值-对模型
- mysql - phpmyadmin:为什么导出不保存到指定的 SaveDir?