c# - 如何在 C# 中仅使用小时和分钟在两个 DateTime 之间添加条件?
问题描述
我正在尝试在ASP.NET MVC中编写一个酒店管理系统,我必须编写一个方法来禁止您在每天下午1:00到下午3:00之间将员工添加到数据库中。
我对 C# 中的Datetime类型非常不熟悉,这就是我所拥有的:
var hour1 = DateTime.Now.ToString("HH:mm");
hour1.setHour("1:00PM");
var hour2 = DateTime.Now.ToString("HH:mm");
hour2.setHour("3:00PM");
if (DateTime.Now >= hour1 && DateTime.Now <= hour2 )
{
//do stuff
}
else
{
//do stuff
}
我知道setHour甚至在Datetime上下文中都不存在,但这只是展示我想要实现的目标的一个例子。我无法在整个互联网上找到解决方案。
解决方案
禁止您在每天下午 1:00 到下午 3:00 之间将员工添加到数据库
无需转换为string
. 只需使用该.Hour
属性。
MSDN:
获取小时分量,表示为 0 到 23 之间的值。
var now = DateTime.Now;
const int onePM = 13;
const int threePM = 15;
if (now.Hour >= onePM && now.Hour < threePM)
{
// do stuff
}
else
{
// do stuff
}
注意:这是一个非常简单的示例,它仅根据 OP 的问题和代码示例的主体将时间与整个小时进行比较。如果说您在下午 3 点 15 分有截止时间,那将无法正常工作,因为我的代码不包括分钟数。
这是基于以下评论中的讨论。
更新
操作:
好吧,当我说下午 1:00 时,它已经有了分钟“ :00 ”,但我认为这并不重要,因为您的解决方案提供了准确的时间。不,没有截止。
太好了,谢谢。
推荐阅读
- javascript - 如何从我的控制器发送 json 数据以查看?
- java - 如何找出特定端点是否在 Spring Boot 中启用了 keepalive?
- linux - 我可以在安装期间或之后通过命令行为基于 linux 的 Pycharm 分配 python 解释器吗?
- ios - 使用 WatchConnectivity 框架的独立手表应用
- android - SoftInput.AdjustResize 导致键盘在显示或隐藏时闪烁
- android - 观察对象类中的实时数据
- iis - 导入 .pfx 后 IIS 接收主机名不同于网站证书错误
- unicode - 从代码点到 UTF-16 代码单元代理对的转换
- powerbi - 使用 DAX 在 PowerBI 中的矩阵中保留所有没有空白行
- aurelia - Aurelia:EventAggregator 触发两次