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 ...
随机推荐
- DICOM医学图像处理:storescp.exe与storescu.exe源码剖析,学习C-STORE请求
转载:http://blog.csdn.net/zssureqh/article/details/39213817 背景: 上一篇专栏博文中针对PACS终端(或设备终端,如CT设备)与RIS系统之间w ...
- android文章学习 侧滑菜单实现
http://blog.csdn.net/jj120522/article/details/8075249 http://blog.csdn.net/lilybaobei/article/detail ...
- QEMU 使用的镜像文件:qcow2 与 raw
qcow2 的基本原理 qcow2 镜像格式是 QEMU 模拟器支持的一种磁盘镜像.它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘.与普通的 raw 格式的镜像相比,有以下特性: 更小的空间 ...
- 【OpenStack】OpenStack系列2之KeyStone详解
源码下载.依赖安装 参考:http://www.oschina.net/question/565065_66271 https://github.com/yongluo2013/osf-opensta ...
- 应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译
概述 反编译是一个将目标代码转换成源代码的过程.而目标代码是一种用语言表示的代码 , 这种语言能通过实机或虚拟机直接执行.文本所要介绍的 JD-Eclipse 是一款反编译的开源软件,它是应用于 Ec ...
- 《ASP.NET1200例》C# WINFORM程序的三层架构如何建立的。
先添加-新建项目-windows应用程序,然后在右边的解决方案资源管理器上面,在当前的解决方案上面右击,点,添加-新建项目-类库,分别建立.DAL,BLL,Model三个项目,然后,在DAL项目上右击 ...
- Two Sum I & II
Two Sum I Given an array of integers, find two numbers such that they add up to a specific target nu ...
- sharepoint修改密码
增加SharePoint2010修改域密码功能 前提SharePoint2010的用户基于AD的,因此修改密码是修改了AD的密码,当然也可以修改本机密码(非域的密码).这里我们讨论修改域密码.我们修改 ...
- Delphi经验总结(2)
Q: 怎么来改变ListBox的字体呢?就修改其中的一行. A: 先把ListBox1.Style 设成lbOwnerDrawFixed 然后在 OnDrawItem 事件下写下如下代码 proced ...
- Java for LeetCode 160 Intersection of Two Linked Lists
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...