• 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);
            }

    图片:

    image

     

    image

     

           利用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);
            }
  • 相关阅读:
    Shell脚本查看apk签名信息
    Android Studio中的六种依赖
    Gradle build设置自动log开关
    转-Android Studio系列教程六--Gradle多渠道打包
    经验分享
    Android Studio build dex jar
    iPhone6搜索如何打开?详细使用方法
    Android Studio 简单设置
    Android Studio常见问题 -- uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library
    iOS开发学习记录【整理】
  • 原文地址:https://www.cnblogs.com/netxiaohui/p/5878820.html
Copyright © 2020-2023  润新知