C#得到某月最后一天晚上23:59:59和某月第一天0…
2018-06-17 21:45:30来源:未知 阅读 ()
项目需求:
某学校订单截止操作时间的上一个月最后一天晚上23:59:59 为止所有支付的订单统计;
代码:
/// <summary> /// 通过学校和截止时间得到订单 /// </summary> /// <param name="pageIndex">页个数</param> /// <param name="pageSize">页面积</param> /// <param name="schoolId">学校ID</param> /// <param name="orderSettlementEndTime">截止时间</param> /// <returns></returns> public PagedList<Order> GetOrderBySchoolAndEndTime(int pageIndex,int pageSize,Guid? schoolId, DateTime? orderSettlementEndTime) { var query = this.Table; if (schoolId.HasValue) { query = query.Where(x => x.SchoolId == schoolId); } if (orderSettlementEndTime.HasValue) { //本月的最后一天 var endMonth = DateTime.Parse( orderSettlementEndTime.Value.AddDays(1 - orderSettlementEndTime.Value.Day) .AddMonths(1) .AddDays(-1) .ToString()); //上月的最后一天 var startMonth = DateTime.Parse( orderSettlementEndTime.Value.AddDays(1 - orderSettlementEndTime.Value.Day) .AddSeconds(-1).ToString()); query = query.Where(x => x.CreateTime >= startMonth&&x.CreateTime<endMonth); } return query.Where(x => x.PaymentState == PaymentState.支付完成) .OrderBy(x=>x.Id) .ToPagedList(pageIndex,pageSize); }
图片:
利用DateTime.Parse();将string类型的时间转换为datetime类型,我们看一下后面的代码,是将时间手动的设置为我们需要的时间。
DateTime today12hours = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 12:00:00"));
这样我们设置了值。
封装取时间的方法
/// <summary> /// 某月的最后一天 /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime FirstDayOfMonth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1); } /// <summary> /// 前一月的最后一天 /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime LastDayOfMonth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddSeconds(-1); } /// <summary> /// 某月的第一天 /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime FirstDayOfMonthMethod(DateTime datetime) { return datetime.AddDays(1 - datetime.Day); } /// <summary> /// 上一月的第一天 /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime FirstDayOfUpMouth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddMonths(-1); } /// <summary> /// 取得上个月的最后一天 /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime LastDayOfOnMouth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddDays(-1); }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 解决MySQL安装到最后一步未响应的三种方法 2018-07-16
- MYSQL获取当前年、季、月、周第一天、最后一天的日期/时间戳 2018-07-03
- 关于mysql安装到最后一步老是停留在starting server,显示无 2018-06-18
- MYSQL 升序排序但值为0的排最后 2018-06-17
- MySQL order null 0 - 把null和0(零)排在最后 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash