编程乐趣:获取第一周最后一周-修改
来源:互联网 发布:linux 关 firewall 编辑:程序博客网 时间:2024/06/04 18:39
前面一篇获取当前所在周的第一天和最后一天,今天在用的时候发现一个小问题,在做一个时间对比时,当时没有考虑到这个周的第一天是这个周的一天的00点开始的。比如某一条记录,
内容:记录,时间:2013-11-04 08:00:00,
内容:记录,时间:2013-11-04 08:00:00,
在12点时查询这条记录,并获取了这周第一天的时间是 2013-11-01 12:00:00,结果记录的时间总是比当前周第一天的时间小。
所以写代码一定要严谨啊。
现在做一下修改:第一天的时间统一从0点开始,最后一周的时间截止23:59:59public class DateTimeTool { /// <summary> /// 获取指定日期所在周的第一天,星期天为第一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekFirstDaySun(DateTime dateTime) { DateTime firstWeekDay = DateTime.Now; try { //得到是星期几,然后从当前日期减去相应天数 int weeknow = Convert.ToInt32(dateTime.DayOfWeek); int daydiff = (-1) * weeknow; firstWeekDay = dateTime.AddDays(daydiff); firstWeekDay = new DateTime(firstWeekDay.Year, firstWeekDay.Month, firstWeekDay.Day); } catch { } return firstWeekDay; } /// <summary> /// 获取指定日期所在周的第一天,星期一为第一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekFirstDayMon(DateTime dateTime) { DateTime firstWeekDay = DateTime.Now; try { int weeknow = Convert.ToInt32(dateTime.DayOfWeek); //星期一为第一天,weeknow等于0时,要向前推6天。 weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1)); int daydiff = (-1) * weeknow; firstWeekDay = dateTime.AddDays(daydiff); firstWeekDay = new DateTime(firstWeekDay.Year, firstWeekDay.Month, firstWeekDay.Day); } catch { } return firstWeekDay; } /// <summary> /// 获取指定日期所在周的最后一天,星期六为最后一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekLastDaySat(DateTime dateTime) { DateTime lastWeekDay = DateTime.Now; try { int weeknow = Convert.ToInt32(dateTime.DayOfWeek); int daydiff = (7 - weeknow) - 1; lastWeekDay = dateTime.AddDays(daydiff); lastWeekDay = new DateTime(lastWeekDay.Year, lastWeekDay.Month, lastWeekDay.Day, 23, 59, 59); }catch { } return lastWeekDay; } /// <summary> /// 获取指定日期所在周的最后一天,星期天为最后一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeWeekLastDaySun(DateTime dateTime) { DateTime lastWeekDay = DateTime.Now; try { int weeknow = Convert.ToInt32(dateTime.DayOfWeek); weeknow = (weeknow == 0 ? 7 : weeknow); int daydiff = (7 - weeknow); lastWeekDay = dateTime.AddDays(daydiff); lastWeekDay = new DateTime(lastWeekDay.Year, lastWeekDay.Month, lastWeekDay.Day, 23, 59, 59); } catch { } return lastWeekDay; } /// <summary> /// 获取指定日期的月份第一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeMonthFirstDay(DateTime dateTime) { if (dateTime == null) { dateTime = DateTime.Now; } return new DateTime(dateTime.Year, dateTime.Month, 1); } /// <summary> /// 获取指定月份最后一天 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static DateTime GetDateTimeMonthLastDay(DateTime dateTime) { int day = DateTime.DaysInMonth(dateTime.Year, dateTime.Month); return new DateTime(dateTime.Year, dateTime.Month, day,23,59,59); } }
- 编程乐趣:获取第一周最后一周-修改
- 编程第一周小结
- 第一周编程作业
- 第一周编程题
- 最后一周
- java第一周编程作业
- PHP编程学习第一周
- scala 第一周编程作业
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周
- 第一周。。
- 第一周
- 可以读写二进制文件的类(支持加密,不支持多线程)
- python 爬虫系列
- HOG 梯度直方图特征
- ios内购 测试时无法连接app store
- android input 系统----1
- 编程乐趣:获取第一周最后一周-修改
- hibernate异常No row with the given identifier exists 解决方法
- 电磁波以及常见电磁波波谱
- linux的string操作(字符串截取,长度计算)
- 删除序列中的指定元素 Remove Element
- 文件系统数据(一)——Directory、File//20131031
- 看了那么多算法想到的
- Web 前端开发利器 Jslet 2.5发布了
- MFC控件大小随窗体改变而改变 .