C# 跳过值班时间代码逻辑
/// <summary>
/// 当前时间是否是值班时间
/// </summary>
private bool IsDutyTime
{
get
{
var dutyTime = "23:00-07:00";
if (!string.IsNullOrEmpty(dutyTime))
{
var now = DateTime.Now;
var sp = dutyTime.Split('-');
if (sp.Length == 0)
{
var msg = $"值班时间格式有误:{dutyTime},正确格式为(17:30-09:00)";
logger.Error(msg);
return false;
}
#region 跳过设置时间段
var hStart = 0;
var mStart = 0;
var hEnd = 0;
var mEnd = 0;
//23:00-07:00
var spStart = sp[0].Split(':');
if (spStart.Length > 1)
{
hStart = Convert.ToInt32(spStart[0]);
mStart = Convert.ToInt32(spStart[1]);
}
else
{
var msg = $"值班时间格式有误:{dutyTime},正确格式为(17:30-09:00)";
logger.Error(msg);
return false;
}
var spEnd = sp[1].Split(':');
if (spEnd.Length > 1)
{
hEnd = Convert.ToInt32(spEnd[0]);
mEnd = Convert.ToInt32(spEnd[1]);
}
else
{
var msg = $"值班时间格式有误:{dutyTime},正确格式为(17:30-09:00)";
logger.Error(msg);
return false;
}
if (hStart > hEnd)
{
//23:00-07:00 or
logger.Info($"设置时间段 dutyTime =>{dutyTime} 【now.Hour > hStart || (now.Hour == hStart && now.Minute >= mStart) || now.Hour < hEnd || (now.Hour == hEnd && now.Minute <= mEnd)】 =>" +
$" 【{now.Hour} > {hStart} || ({now.Hour} == {hStart} && {now.Minute} >= {mStart}) || {now.Hour} < {hEnd} || ({now.Hour} == {hEnd} && {now.Minute} <= {mEnd})】");
if (now.Hour > hStart || (now.Hour == hStart && now.Minute >= mStart) || now.Hour < hEnd || (now.Hour == hEnd && now.Minute <= mEnd))
{
logger.Info($"当前时间段,属于值班时间 =>{dutyTime}");
return true;
}
}
else
{
//07:00-23:00 and
logger.Info($"设置时间段 dutyTime =>{dutyTime} 【now.Hour >= hStart && now.Minute >= mStart && now.Hour <= hEnd && now.Minute <= mEnd】 => " +
$"【{now.Hour} >= {hStart} && {now.Minute} >= {mStart} && {now.Hour} <= {hEnd} && {now.Minute} <= {mEnd}】");
if ((now.Hour >= hStart && now.Minute >= mStart) && (now.Hour <= hEnd && now.Minute <= mEnd))
{
logger.Info($"当前时间段,属于值班时间 =>{dutyTime}");
return true;
}
}
#endregion
}
return false;
}
}
C# 跳过值班时间代码逻辑的更多相关文章
- 随便聊聊 SOA & SOAP & WebService 的一些东西,以及客户端开发的代码逻辑解析
http://blog.csdn.net/hikaliv/article/details/6459779 一天的时间调通了一个 WebService 的 Java 端的 C/S.一个 Android ...
- 问题(bug)确实不在代码逻辑上面,往往是配置、权限或者业务逻辑之外的地方(转)
不能说所有的bug都是纸老虎,但往往那种看似很奇葩的bug,导致的原因确实很简单,烦了你一段时间,找到真相又让你忍不住一笑.什么是奇葩的bug呢.我的定义是:代码逻辑都一样,但在A处是好的,到了B处就 ...
- js点击button按钮跳转到页面代码
点击按钮怎么跳转到另外一个页面呢?我们在网站制作中可能是需要的,因为有时我们需要做这样的效果,尤其是将按钮做成一个图片,而点击图片要跳转到新的页面时,怎么做到呢? 这样的效果可以:onclick=&q ...
- solr拼写检查代码逻辑
自定义的solr搜索系统作为web应用发布到tomcat后,运行过程中其搜索代码逻辑如下: 用户solr搜索应用发送搜索请求URL,solr应用的org.apache.solr.servlet.Sol ...
- httpclient的主要业务代码逻辑(图解)
一,主要代码逻辑(图解) 二,两个案例的对比(图解) 三,详细案例 3.1,博文一 httppost的用法(NameValuePair(简单名称值对节点类型)核心对象) 3.2,博文二 httpcli ...
- [原著]java或者Js 代码逻辑来处理 突破 oracle sql “IN”长度的极限的问题
注:本文出自:博主自己研究验证可行 [原著]java或者Js 代码逻辑来处理 突破 oracle sql "IN"长度的极限的问题 在很多的时候 使用 select ...
- yolo源码解析(1):代码逻辑
一. 整体代码逻辑 yolo中源码分为三个部分,\example,\include,以及\src文件夹下都有源代码存在. 结构如下所示 ├── examples │ ├── darknet.c(主程序 ...
- 简单地迁移你的android jni代码逻辑到iOS - 编写iOS下jni.h的替代 - ocni.h
1. jni的代码逻辑中与上层平台语言交互了. 2. 使用非Xcode的ide开发工具,希望使用纯净的c/c++代码,不掺杂其它平台相关的语言语法. 3. 只想简单地替换jni代码对上层平台语言的功能 ...
- Java项目有可能做到所有的代码逻辑均可热部署吗?
前言 首先我们明确下什么叫做热部署,热部署是在不重启java虚拟机的前提下,自动更新class的行为,从而更新整个运行时的逻辑. 在java开发领域,热部署一直是一个难以解决的问题,java虚拟机理论 ...
- java获取当前日期时间代码总结
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 代码如下 复制代码 Date date = new ...
随机推荐
- spring---面向切面(AOP @Pointcut 表达式篇)
AOP(面向切面编程),可以说是OOP(面向对象编程)的补充和完善.OOP引入封装.继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合. 当我们需要为分散的对象引入公共行为的时候,O ...
- JUC并发编程学习(五)集合类不安全
集合类不安全 List不安全 单线程情况下集合类和很多其他的类都是安全的,因为同一时间只有一个线程在对他们进行修改,但是如果是多线程情况下,那么集合类就不一定是安全的,可能会出现一条线程正在修改的同时 ...
- 完蛋!我被 Out of Memory 包围了!
是极致魅惑.洒脱自由的Java heap space? 是知性柔情.温婉大气的GC overhead limit exceeded? 是纯真无邪.活泼可爱的Metaspace? 如果以上不是你的菜,那 ...
- NewsCenter
打开界面有一个搜索框 抓包查看是post形式提交的数据包 这时候试试sql注入,万能密码直接全都显示,那就说明存在sql注入漏洞 这里试试用sqlmap自动注入试试(POST类型的sql注入第一次尝试 ...
- 不懂乐理,也能扒谱,基于openvpi将mp3转换为midi乐谱(Python3.10)
所谓"扒谱"是指通过听歌或观看演奏视频等方式,逐步分析和还原音乐作品的曲谱或乐谱的过程.它是音乐学习和演奏的一种常见方法,通常由音乐爱好者.乐手或学生使用. 在扒谱的过程中,人们会 ...
- 集合-Nim游戏
与普通\(NIM\)游戏不同的地方是限制了每次拿东西的个数,这个个数会给定在集合\(S\)中,也就是说每次拿的数量只能在集合\(S\)中. 现在就可以把每一堆石子看成是一个有向图了,最主要就是用记忆化 ...
- NEFU OJ Problem1485 贪吃蛇大作战 题解
Problem:F Time Limit:1000ms Memory Limit:65535K 题目 Description 贪吃蛇大家一定都玩过吧,现在宋哥也要玩这个游戏,最初的时候贪吃蛇从屏幕的左 ...
- 29. 干货系列从零用Rust编写正反向代理,异步回调(async trait)的使用
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...
- .NET8极致性能优化CHRL
前言 .NET8在.NET7的基础上进行了进一步的优化,比如CHRL(全称:CORINFO_HELP_RNGCHKFAIL)优化技术,CORINFO_HELP_RNGCHKFAIL是边界检查,在.NE ...
- 最好用的oa办公系统?
OA办公系统是一种集成办公自动化.协同办公.信息管理等功能于一体的软件系统,旨在提高办公效率,优化流程管理,提供更好的团队协作和信息共享.下面将详细介绍几个目前市场上认为较为优秀的OA办公系统. 一. ...