C# 判断时间段是否相交
来源:互联网 发布:usb协议分析软件 编辑:程序博客网 时间:2024/05/20 08:24
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为两个时间属性
0 0
- C# 判断时间段是否相交
- 判断两个时间段是否相交
- 判断两个时间段是否相交
- C#判断线段是否相交
- c#判断两线段是否相交
- 判断时间段是否有效
- C#判断时间是否处于某个时间段内(当天)
- c# 判断时间是否在 某一时间段内
- 判断俩个链表是否相交
- 判断俩链表是否相交
- 判断俩个链表是否相交
- 判断俩链表是否相交
- 判断矩形是否相交
- 判断俩个链表是否相交
- 判断两条单链表是否相交
- 判断这俩个链表是否相交
- 判断两链表是否相交
- 判断俩个链表是否相交
- linux中的PIPE_SIZE与PIPE_BUF,管道最大写入值问题
- 事件传递之二(实现简单的按下半透明效果)
- IBM supervessel power云平台 之 俄罗斯方块 游戏篇
- Ubuntu 14.04下搭建 Android 开发环境(2) -SDK&IDE
- 【windows】win8.1的安装中绕过Microsoft帐户登录
- C# 判断时间段是否相交
- replace和replaceAll
- 李志林:对2015年股市需有新认识
- sgu 172
- 英语时间作息表
- 为什么用java的URL定位资源图片需要刷新界面才能显示
- 清除“我最近的文档”方法
- PHP文件处理 ~~学习笔记
- 【消息队列MQ】各类MQ比较