C#得到某月最后一天晚上23:59:59和某月第一天00:00:00
项目需求:
某学校订单截止操作时间的上一个月最后一天晚上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);
}
C#得到某月最后一天晚上23:59:59和某月第一天00:00:00的更多相关文章
- java 根据传入的时间获取当前月的第一天的0点0分0秒和最后一天的23点59分59秒
/** * 获取指定日期所在月份开始的时间 * lkeji * @return */ public static String getMonthBegin(String specifiedDay) { ...
- C#获取上个月的第一天零点和最后一天23点59分59秒
//上个月第一天0点 DateTime date2 = DateTime.Now.AddMonths(-1).Date.AddDays(1 - DateTime.Now.Day); R ...
- 2015微软创新杯Imaginecup正在进行参赛(报名截止日期2014年12月31日本23:59)
CSDN高校俱乐部与微软官方合作,2015微软创新杯大赛中国区官网落户CSDN高校俱乐部:http://student.csdn.net/mcs/imaginecup2015 在微软官方设置创新杯中国 ...
- RobotFramework:查询条件为最近一个月的数据(2019-07-09 00:00:00.000 到 2019-08-07 23:59:59.999)
自动化测试中遇到,默认查询条件为最近一个月,所以起始时间就应该为(2019-07-09 00:00:00.000 到 2019-08-07 23:59:59.999) test ${current_ ...
- SQL Server 获取最后一天(指定时间的月最后一天日期)
/* author OceanHo @ 2015-10-23 10:14:21 获取指定时间字符串指定日期的月最后一天日期 */ IF OBJECT_ID('get_LastDayDate') IS ...
- MSSQL 获取指定日期所在星期的第一天和最后一天日期 获取指定日期坐在月的第一天和最后一天
ufn_GetWeekFirstAndEndDay 获取指定日期所在星期的第一天和最后一天日期 ALTER FUNCTION [dbo].[ufn_GetWeekFirstAndEndDay]( ...
- 1 时间戳 2 C# 如何生成一个时间戳 3 js 时间加一分钟... 4 js string->date 5 js 取得当天0点 / 23:59:59 时间
var str = 'Jan 23, 2019 10:25:47 AM';var strnow = new Date(str); 时间戳(timestamp),一个能表示一份数据在某个特定时间之前已经 ...
- C# 获取某个时间的0点0分和23点59分59秒
C#获取当月第一天和最后一天 当月第一天0时0分0秒: DateTime.Now.AddDays( - DateTime.Now.Day).Date 当月最后一天23时59分59秒: DateTime ...
- [网站公告]3月10日23:00-4:00阿里云SLB升级,会有4-8次连接闪断
大家好,阿里云将于3月10日23:00-4:00对负载均衡服务(SLB)做升级操作,升级期间SLB网络连接会有约4-8次闪断.由此给您带来麻烦,敬请谅解! 阿里云SLB升级公告内容如下: 尊敬的用户: ...
随机推荐
- Git命令总结
本文转载自345大神.... 查看原文 先上个图形化界面GIT工具 SourceTree下载链接 windows版 1.8.3 & Mac版 2.2.4 链接: http://pan.baid ...
- Oracle学习之路-- 案例分析实现行列转换的几种方式
注:本文使用的数据库表为oracle自带scott用户下的emp,dept等表结构. 通过一个例子来说明行列转换: 需求:查询每个部门中各个职位的总工资 按我们最原始的思路可能会这么写: ...
- Angularjs参考框架地址
1.Table(Grid)参考地址 https://github.com/samu/angular-table https://github.com/daniel-nagy/md-data-table ...
- PHP设计模式(六)原型模式(Prototype For PHP)
原型设计模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型设计模式简单的来说,顾名思义, 不去创建新的对象进而保留原型的一种设计模式. 缺点:原型设计模式是的最主要的缺点就 ...
- Java之多态(二)
package test05;import test06.Car1;public class DuoTai_Test02 { /**多个对象,一个形态 * Tiger.Lion.Snake → Ani ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- 【原】无脑操作:express + MySQL 实现CRUD
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...
- 在VMware上安装CentOS -7
1.下载好VMware 2.准备好CentOS的镜像文件 3.打开VMware创建新的虚拟机 选择自定义高级后按下一步 继续下一步 选择稍后安装操作系统 客户机操作系统选择Linux,版本选择Cent ...
- 我的MYSQL学习心得(十六) 优化
我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- Linux.NET学习手记(8)
上一回合中,我们讲解了Linux.NET面对OWIN需要做出的准备,以及介绍了如何将两个支持OWIN协议的框架:SignalR以及NancyFX以OwinHost的方式部署到Linux.NET当中.这 ...