找出时间所属的区间段
来源:互联网 发布:linux拷贝文件 编辑:程序博客网 时间:2024/05/06 17:55
一个实际的问题,有以下几个时间区间:
0:00 ~ 3:00
3:00 ~ 4:30
4:30 ~ 7:00
7:30 ~ 11:00
11:00 ~ 13:00
13:00 ~ 14:00
14:00 ~ 15:00
15:00 ~ 18:00
18:30 ~ 23:00
23:00 ~ 24:00
找出时间 2009-02-03 14:23:00所属的区间段,对照一下不难发现答案应该为【14:00 ~ 15:00】。
c#如何实现这一算法呢?
List<string> mylist =new List<string> ();
mylist.Add("0:00");
mylist.Add("3:00");
mylist.Add("4:30");
mylist.Add("7:30");
mylist.Add("11:00");
mylist.Add("13:00");
mylist.Add("14:00");
mylist.Add("15:00");
mylist.Add("18:30");
mylist.Add("23:00");
DateTime nowTime = Convert.ToDateTime("2009-02-03 14:00:00");
MessageBox.Show(nowTime.ToString() + "出现在第" + (GetPoint(mylist, nowTime) + 1).ToString() + "个位置");
//被调用方法,返回出现的位置
public int GetPoint(List<string> mylist, DateTime dt)
{
int PointID = -1;
Int32 NewTime = Convert.ToInt32(dt.ToString("HHmm"));
Int32[] array = new Int32[mylist.Count];
for (int k = 0; k < mylist.Count; k++)
{
array[k] = Convert.ToInt32(mylist[k].ToString().Replace(":", ""));
}
Array.Sort(array);
for (int j = 0; j < array.Length - 1; j++)
{
if (NewTime >= Convert.ToInt32(array[j].ToString()) && NewTime < Convert.ToInt32(array[j + 1].ToString()))
{
PointID = j;
break;
}
}
return PointID;
}
- 找出时间所属的区间段
- C#计算时间间隔和时间所属区间的通用操作方法
- 找出热点块所属的用户,对象名,类型
- 找出热点块所属的用户,对象名,类型
- PHP得到某段时间 区间的时间戳,php 定时任务
- Portlet 获取登录用户所属组的代码段
- hibernate如何使用hql语句查询时间区间段
- hibernate如何使用hql语句查询时间区间段
- 合并多段数字区间的解决方案
- 重合区间最长的两个区间段SegmentOverlap
- 这段时间的随想
- 近段时间的总结
- 这段时间的流水账
- 这段时间的总结
- 这段时间的生活
- 这段时间的困惑
- 这段时间的感受
- 这段时间的收获
- Thumb的工作状态
- 正确实现 IDisposable 接口
- 【理论知识篇】ATPCS概述
- The .config
- 【SEP4020】cross compile libdmtx 中出现的问题
- 找出时间所属的区间段
- 增加VMware下LINUX的虚拟机磁盘空间
- 关于多线程(进程)死锁的探测
- 存储string的size的操作结果变量必须为string::size_type类型——P73
- DNS解析顺序
- Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的联系 && camera的takePicture实例
- 自定义ViewState的保存方式
- ExecuteNonQuery()、ExecuteScalar()、ExecuteReader()
- 遍历hashMap、hashSet、Hashtable