Week,Month, Year 日期区间辅助类
我们在做一些业务系统的时候,经常会用到一些获取时间段的情况。比如要统计某一周、某月、某年 这样一些时间区间内的一些业务数据。这时候我们就需要获取当前时间段内的一些起止日期。这里分享一个通用的日期辅助类,可以根据传入的日期快速的获取它所在Week、Month、Year的起止日期。
public static class DateHelper
{
public static DateTime WeekFirstDay(this DateTime dt)
{
dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));
if (dt.DayOfWeek == DayOfWeek.Sunday)
{
return dt.AddDays(-6);
}
return dt.AddDays(1 - (int)dt.DayOfWeek);
}
public static DateTime WeekEndDay(this DateTime dt)
{
dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));
if (dt.DayOfWeek == DayOfWeek.Sunday)
{
return dt;
}
return dt.AddDays(7 - (int)dt.DayOfWeek);
}
public static DateTime MonthFirstDay(this DateTime dt)
{
dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));
return dt.AddDays(1 - dt.Day);
}
public static DateTime MonthEndDay(this DateTime dt)
{
dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));
return dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1);
}
public static DateTime YearFirstDay(this DateTime dt)
{
return new DateTime(dt.Year, 1, 1);
}
public static DateTime YearEndDay(this DateTime dt)
{
return new DateTime(dt.Year, 12, 31);
}
}
Week,Month, Year 日期区间辅助类的更多相关文章
- Friendly Date Ranges 让日期区间更友好
把常见的日期格式如:YYYY-MM-DD 转换成一种更易读的格式. 易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st 代替 1). 记住不要显示那些可以被推测出来的信息: 如果 ...
- JS获取当前时间到30天之后的日期区间
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- python实现以立春为起点n为周期任意日期所在的日期区间
python实现以立春为起点n为周期任意日期所在的日期区间 需求 话不多说,直接上具体需求. ''' 以每年的立春作为起始点,每N天为一个单元,任给一个日期,返回该日期所在单元的起始和结束日期.例如: ...
- Sql 获取日期区间
获取制定日期区间 declare @d as date declare @d2 as date set @d = '2014-06-03' set @d2 ='2014-06-10' ),datead ...
- mysql 获取指定日期到指定日期 区间段的日期
第一种方法: cross join (就相当于mysql中的循环) CROSS JOIN 把两张表中的数据进行 N * M的组合,即笛卡尔积 这里的两张表利用 union all都有5条数据,所以进行 ...
- Java判断一个日期是否在下周日期区间
Java实现判断一个日期是否在下周日期区间的方法 /** * 判断输入的日期是否在下周区间 * @return * @author nemowang */ public static boolean ...
- Easyui DataGrid DateRange Filter 漂亮实用的日期区间段筛选功能
自定义扩展Jquery easyui datagrid filter组件实现对日期类型区间段的筛选功能.显示效果如一下 是不是非常实用 引用的jquery 组件是 Date Range Picker ...
- My97日期控件 选择日期区间
<script language="javascript" type="text/javascript" src="My97DatePicker ...
- jq 日期区间处理
<html lang="en"><head> <meta charset="UTF-8"> <title>Tit ...
随机推荐
- [Effective JavaScript 笔记]第46条:使用数组而不要使用字典来存储有序集合
对象属性无序性 js对象是一个无序属性集合. var obj={}; obj.a=10; obj.b=30; 属性a和属性b并没有谁前谁后之说.for...in循环,先输出哪个属性都有可能.获取和设置 ...
- [Effective JavaScript 笔记]第54条:将undefined看做“没有值”
undefined值很特殊,每当js无法提供具体的值时,就会产生undefined. undefined值场景 未赋值的变量的初始值即为undefined. var x; x;//undefined ...
- Pascal’s Triangle
vector<vector<int>> generate(int num) { vector<vector<int>> result; vector&l ...
- ICA
参考:http://www.cnblogs.com/jerrylead/archive/2011/04/19/2021071.html 对高斯分布的样本点效果不好.数学真是博大精深啊
- ZeroMQ(java)之Router/Dealer模式
本教程转自:http://blog.csdn.net/kobejayandy/article/details/20163527 在开始之前先把guid里面提到的几个ZeroMQ的特性列一下吧: (1) ...
- 暑假热身 E. 无聊的LSY
LSY大牛没事就爱玩游戏,包括很多很无聊的游戏.某日,LSY大牛又找到了一个无聊的游戏:每一局游戏的开始,LSY大牛将代表自己的棋子放在一个线性棋盘的最左端(第0个格子,可以认为向右端无限延伸),接着 ...
- Linux多线程编程——多线程与线程同步
多线程 使用多线程好处: 一.通过为每种事件类型的处理单独分配线程,可以简化处理异步事件的代码,线程处理事件可以采用同步编程模式,启闭异步编程模式简单 二.方便的通信和数据交换 由于进程之间具有独立的 ...
- 使用ajax解决ie缓存问题
1.在XMLHttpRequest/发送的请求之前 加上 XMLHttpRequest.setRequestHeader("If-Modified-Since","0&q ...
- maven An error occurred while filtering resources
转自:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources m ...
- Android 使用dip单位进行布局的一点知识
先看看怎么算出一个设备的dpi, 其实就是算出对角线上有多少个px,之后除上屏幕尺寸.比如,1280*720 的10.1寸设备,dpi = (sqrt(1280*1280+720*720)) / 1 ...