zoukankan      html  css  js  c++  java
  • 获取日期差除去双休

    主要思路:计算日期差过了几周,就用日期差除7得到周数,在判断开始日期和结束日期存在周末的情况,最终得到的结果=总日期差-周数*2-结束日期和开始日期所在周末的次数

    #region 计算除去周末的日期
                                var totleWeek = AllDays / 7; //经过的周数
                                var yuDay = totleWeek % 7;
                                if (yuDay == 0)   //正好整周
                                {
                                    days = AllDays - (totleWeek * 2);
                                }
                                else
                                {
                                    var weekDay = 0;
                                    var Week= 0; //多余的天数有几天是周六或者周日
                                    switch (start.DayOfWeek)
                                    {
                                        case DayOfWeek.Monday:
                                            weekDay = 1;
                                            break;
                                        case DayOfWeek.Tuesday:
                                            weekDay = 2;
                                            break;
                                        case DayOfWeek.Wednesday:
                                            weekDay = 3;
                                            break;
                                        case DayOfWeek.Thursday:
                                            weekDay = 4;
                                            break;
                                        case DayOfWeek.Friday:
                                            weekDay = 5;
                                            break;
                                        case DayOfWeek.Saturday:
                                            weekDay = 6;
                                            break;
                                        case DayOfWeek.Sunday:
                                            weekDay = 7;
                                            break;
                                    }
                                    if ((weekDay == 6 && yuDay >= 2) || (weekDay == 7 && yuDay >= 1) || (weekDay == 5 && yuDay >= 3) || (weekDay == 4 && yuDay >= 4) || (weekDay == 3 && yuDay >= 5) || (weekDay == 2 && yuDay >= 6))
                                    {
                                        Week = 2;
                                    }
                                    if ((weekDay == 6 && yuDay < 1) || (weekDay == 7 && yuDay < 5) || (weekDay == 5 && yuDay < 2) || (weekDay == 4 && yuDay < 3) || (weekDay == 3 && yuDay < 4) || (weekDay == 2 && yuDay < 5) || (weekDay == 1 && yuDay < 6))
                                    {
                                        Week = 1;
                                    }
                                    days = AllDays - (totleWeek * 2) - Week;
                                }
    #endregion
  • 相关阅读:
    Linux操作系统学习之第三篇
    Linux操作系统学习之第二篇
    简介VMware workstaion
    Linux操作系统学习之起始篇
    c# 与java对应的 aes加密(带向量的)
    string转DateTime
    webapi项目创建
    c# mqtt 服务端、客户端简易例子
    vs快捷键
    c# 用byte数组生成图片
  • 原文地址:https://www.cnblogs.com/lk2017/p/12161335.html
Copyright © 2011-2022 走看看