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);
        }
时间: 2024-08-25 18:52:51

C#得到某月最后一天晚上23:59:59和某月第一天00:00:00的相关文章

moment获取天的23时59分59秒可以用moment().endOf(String),以及获取天的0时0分0秒可以用moment().startOf(&#39;day&#39;)

资料来源:https://segmentfault.com/a/1190000010045286 moment获取天的23时59分59秒可以用moment().endOf(String),以及获取天的0时0分0秒可以用moment().startOf('day') 获取今天0时0分0秒 moment().startOf('day') 获取本周第一天(周日)0时0分0秒 moment().startOf('week') 获取本周周一0时0分0秒 moment().startOf('isoWeek'

获取本月最后一天23点59分59秒

1 /** 2 * 获取本月最后一天23点59分59秒 3 * @param date 4 * @return 5 */ 6 public static Date getLastMonthDay(Date date) { 7 Calendar cal = Calendar.getInstance(); 8 cal.setTime(date); 9 int maxDate = cal.getActualMaximum(Calendar.DAY_OF_MONTH); 10 cal.set(Calen

2015微软创新杯Imaginecup大赛报名进行中(报名截止2014年12月31日23:59)

CSDN高校俱乐部与微软官方合作,2015微软创新杯大赛中国区官网落户CSDN高校俱乐部:http://student.csdn.net/mcs/imaginecup2015 在微软官方设置创新杯中国区奖项之外,CSDN高校俱乐部每个竞赛项目特设一等奖.二等奖.三等奖及纪念奖若干名. CSDN高校俱乐部特别奖(获奖者需在高校俱乐部进行过报名备案):详情-> 1. 一等奖(三支团队): 每个竞赛项目一等奖一名,每支团队获得奖金2,000元人民币,团队成员每人尊享2015 CSDN VIP年卡会员:

MSSQL 获取指定日期所在星期的第一天和最后一天日期 获取指定日期坐在月的第一天和最后一天

ufn_GetWeekFirstAndEndDay    获取指定日期所在星期的第一天和最后一天日期 ALTER FUNCTION [dbo].[ufn_GetWeekFirstAndEndDay](@tmpDate DATETIME)RETURNS  @tmpTable TABLE(            FirstDay DATETIME ,          EndDay DATETIME   )ASBEGIN    INSERT INTO @tmpTable    SELECT a.Fi

常量 2014年6月9日08:32:59

class Program { //常量名一般全部大写 //private const double PI = 3.14;//定义常量,private只能类内部使用 public const double PI = 3.14;//定义常量,public整个项目都可以使用 static void Main(string[] args) { //const double pi = 3.14;//定义常量,只能整个方法使用 //pi = 2;//不能为常量赋值 Console.WriteLine(PI

SQL Server 取前一天的0点和23点59分59秒

DECLARE @startDate1 DATE;DECLARE @startDate DATETIME;SET @startDate1=GETDATE();SELECT @startDate=DATEADD(DAY,-1,@startDate1); DECLARE @endDate DATETIME ;SET @endDate=DATEADD(second,-1,CONVERT(DATETIME,@startDate1)); SELECT @startDate startDate,@endDa

获取当前时间所在的23:59:59

/** * @param *  返回yyyy-MM-dd 23:59:59日期 * @return */ public static Date weeHours(Date date) { Calendar calendar= Calendar.getInstance(); calendar.setTime(date); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE)

2017年7月22日~23日,深圳市共创力为某上市企业提供整机设计工程内训服务!

2017年7月22日~23日,深圳市共创力咨询资深顾问李齐天老师为某上市企业提供了<整机系统设计方法与实践>的内训服务!该公司是武汉光谷著名的通信企业,研发团队超过1000多人,此次培训的引进公司领导层经过多方的选择和考察,最终选定李齐天老师为主讲老师. 2017年7月22日上午9点,公共研发部副总经理刘总宣布培训正式开始,接着共创力助教蔷薇对本次培训的目标进行宣读,正式进入了为期两天的整机系统设计培训之旅.李齐天老师分别从IPD流程.MM流程.OR流程.整机SE的开发设计活动.模板与案例演练

查询一个月最后一天的总用户数,数据库中没有保存最好一天的数据,就查询本月数据库已存有的最后一天的数据

select total_user from a_user_no where date_time=(select max(date_time) from a_user_no  where '2013-05'+ "'=to_char(date_time,'yyyy-mm')); 通过max 函数来去5月份出现最大日期的数据 查询一个月最后一天的总用户数,数据库中没有保存最好一天的数据,就查询本月数据库已存有的最后一天的数据,布布扣,bubuko.com