C# 判断时间段是否相交的实现方法
C# 判断时间段是否相交的实现方法
1. 判断两个起止时间是否相交:
public static bool IsTimeBetween(TimeSpan input, TimeSpan start, TimeSpan end, bool fromInclusice, bool toInclusive) { //http://stackoverflow.com/questions/592248/how-can-i-check-if-the-current-time-is-between-in-a-time-frame // see if start comes before end if (end < start) { return ((toInclusive && (input <= end)) || (!toInclusive && (input < end))) || ((fromInclusice && (input >= start)) || (!fromInclusice && (input > start))); } else { return ((fromInclusice && (input >= start)) || (!fromInclusice && (input > start))) && ((toInclusive && (input <= end)) || (!toInclusive && (input < end))); } }
2. 传入起止时间的表达式,判断与已知时间段的交集,生成Mongo查询:
public IMongoQuery GetMongoQueryIntersectWith<TCollection>( Expression<Func<TCollection, DateTime>> fromExp, Expression<Func<TCollection, DateTime>> toExp) { var rangeTo = Query.And(Query<TCollection>.GTE(toExp, To), Query<TCollection>.LTE(fromExp, To)); var rangeFrom = Query.And(Query<TCollection>.GTE(toExp, From), Query<TCollection>.LTE(fromExp, From)); var rangeQuery = Query.Or(rangeTo, rangeFrom, Query.And(Query<TCollection>.GTE(fromExp, From),Query<TCollection>.LTE(toExp, To))); return rangeQuery; }
其中From和To为两个时间属性
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
详解C#使用AD(Active Directory)验证内网用户名密码
详解C#使用AD(Active Directory)验证内网用户名密码 1. 连到内网,找到AD的domain地址 nslookup set types=all _ldap._tcp 2. 验证AD的函数 public bool ADLogin(string userName, string password) { // sample : // LDAP://xxx.com string domain = System.Configuration.ConfigurationManager.App
-
C# 获取硬件参数的实现方法
C# 获取硬件参数的实现方法 示例代码: private static string GetIdentifier(string wmiClass, string wmiProperty, string wmiMustBeTrue) { string result = ""; System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass); System.Management.M
-
C#集合类用法实例代码详解
下面介绍C#的集合类 1ArrayList using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace 动态数组ArrayList { class Program { static void Main(string[] args) { ArrayList
-
微信小程序支付之c#后台实现方法
微信小程序支付c#后台实现 今天为大家带来比较简单的支付后台处理 首先下载官方的c#模板(WxPayAPI),将模板(WxPayAPI)添加到服务器上,然后在WxPayAPI项目目录中添加两个"一般处理程序" (改名为GetOpenid.ashx.pay.ashx) 之后打开business目录下的JsApiPay.cs,在JsApiPay.cs中修改如下两处 然后在GetOpenid.ashx中加入代码如下: public class GetOpenid : IHttpHandler
-
C#编写一个简单记事本功能
本文实例为大家分享了C#编写记事本的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
-
C#微信分享代码
本文实例为大家分享了C#微信分享的具体代码,供大家参考,具体内容如下 微信分享代码,先引入: <script type="text/javascript" charset="utf-8" src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script> 获取签名: mui.ajax('/apijson/wxsign', { type: 'get', data: {
-
C# 判断时间段是否相交的实现方法
C# 判断时间段是否相交的实现方法 1. 判断两个起止时间是否相交: public static bool IsTimeBetween(TimeSpan input, TimeSpan start, TimeSpan end, bool fromInclusice, bool toInclusive) { //http://stackoverflow.com/questions/592248/how-can-i-check-if-the-current-time-is-between-in-a-
-
Java判断时间段内文件是否更新的方法
本文实例讲述了Java判断时间段内文件是否更新的方法.分享给大家供大家参考.具体实现方法如下: 1.定时器 复制代码 代码如下: private Timer timer; /** * 简易定时器 * @param delay 多久后开始执行.毫秒 * @param period 执行的间隔时间.毫秒 */ public void test(long delay, long period) { timer = new Timer(); timer.sc
-
MySQL判断时间段是否重合的两种方法
两种写法.如图,4种重合情况和2种不重合情况. 第一种写法: -- 时间段 a,b SELECT * FROM table WHERE (start_time >= a and end_time <= b) -- 被包含了 or (end_time >= a and end_time <=b) or (start_time >= a and start_time <=b) or (start_time <= a and end_time >=b) 解析:wh
-
golang判断chan channel是否关闭的方法
本文实例讲述了golang判断chan channel是否关闭的方法.分享给大家供大家参考,具体如下: 群里有朋友问,怎么判断chan是否关闭,因为close的channel不会阻塞,并返回类型的nil值,会导致死循环.在这里写个例子记录一下,并且分享给大家 如果不判断chan是否关闭 Notice: 以下代码会产生死循环 复制代码 代码如下: package main import ( "fmt" ) func main() { c := make(chan int,
-
Go语言判断指定文件是否存在的方法
本文实例讲述了Go语言判断指定文件是否存在的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "os" ) func main() { f, err := os.Open("dotcoo.com.txt") if err != nil && os.IsNotExist(err) { fmt.Pri
-
一个用jquery写的判断div滚动条到底部的方法【推荐】
jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop.scrollLeft.scrollHeight.其中 scrollHeight 属性,互联网上几乎搜素不到关于它的应用技巧,而我正好需要用到它. 我们现在只探讨和垂直滚动有关的 scrollTop.scrollHeight 属性. 一.滚动条有关属性的正确理解: 假设有以下Html代码: <div id="div1" style="overflow-y:auto; ove
-
JS判断时间段的实现代码
废话不多说了,直接给大家贴代码了,具体代码如下所示: <th>交易时间开始:</th> <td><input id="bcconDateBeginDate" name="bcconDateBeginDate" value="2016/06/12 00:00:00" class="easyui-datetimebox" editable="false" style=&
-
C# 中Excel导入时判断是否被占用三种方法
C# 中Excel导入时 判断是否被占用三种方法 Excel导入时 判断是否被占用,三种方法: 1:Win7可以,WIN10不可以 try { //原理,如果文件可以被移动,说明未被占用 string strPath = "C:\\123OK.Excel"; string strPath2 = "C:\\123OK22.Excel"; File.Move(strPath, strPath2); File.Move(strPath2, strPath); } catc
-
java使用正则表达式判断邮箱格式是否正确的方法
本文实例讲述了java使用正则表达式判断邮箱格式是否正确的方法.分享给大家供大家参考.具体如下: import java.io.*; public class CheckEmail { public static boolean checkEmail(String email) {// 验证邮箱的正则表达式 String format = "\\p{Alpha}\\w{2,15}[@][a-z0-9]{3,}[.]\\p{Lower}{2,}"; //p{Alpha}:内容是必选的,和
-
java判断ftp目录是否存在的方法
本文为大家分享了java判断ftp目录是否存在的方法,供大家参考,具体内容如下 package com.soft4j.log4j; import java.io.IOException; import sun.net.ftp.FtpClient; public class FtpTest { static String middle_ftpServer = "10.103.2.250"; static String middle_user = "ora9iftp";
随机推荐
- VUE JS 使用组件实现双向绑定的示例代码
- Eclipse开发Hibernate应用程序
- Erlang中的函数与流程控制介绍
- jQuery遮罩层实现方法实例详解(附遮罩层插件)
- AngularJS入门教程之更多模板详解
- IIS “另一个程序正在使用此文件,进程无法访问。”错误提示的解决办法
- Spring Cloud实战技巧之使用随机端口
- 微信小程序 动态的设置图片的高度和宽度详解及实例代码
- ASP.NET文件处理如何操作
- 基于Bootstrap重置输入框内容按钮插件
- Android仿微信QQ设置图形头像裁剪功能
- 为JQuery EasyUI 表单组件增加焦点切换功能的方法
- SysWin7z.Jmp SysWin7z.sys木马病毒的手动删除方法
- Java 中jasperReport实现动态列打印的实现代码
- FragmentTabHost FrameLayout实现底部导航栏
- Android中的Dalvik和ART详解及区别分析
- C语言学生信息管理系统设计与实现
- python中numpy的矩阵、多维数组的用法
- C语言实现通讯录系统
- js限制input只能输入有效的数字(第一个不能是小数点)