首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

给定日期范围(开始日期和结束日期),我如何计算天数,不包括.Net中指定的星期几?

您好,您需要一个程序来计算两个日期之间的天数,但不包括指定的星期几。以下是一个使用Python编写的程序,它可以实现您的需求:

代码语言:python
代码运行次数:0
复制
from datetime import datetime, timedelta

def count_days_exclude_weekdays(start_date, end_date, exclude_weekdays):
    start_date = datetime.strptime(start_date, "%Y-%m-%d")
    end_date = datetime.strptime(end_date, "%Y-%m-%d")

    days = (end_date - start_date).days + 1
    for i in range(days):
        current_date = start_date + timedelta(i)
        if current_date.weekday() in exclude_weekdays:
            days -= 1
    return days

start_date = "2022-01-01"
end_date = "2022-01-31"
exclude_weekdays = [0, 1, 2, 3, 4]  # 0表示星期一,1表示星期二,以此类推

days = count_days_exclude_weekdays(start_date, end_date, exclude_weekdays)
print(f"在{start_date}和{end_date}之间,不包括{exclude_weekdays}的天数为:{days}")

在这个程序中,我们首先将输入的日期字符串转换为Python的datetime对象。然后,我们计算两个日期之间的天数,并将其存储在变量days中。接下来,我们遍历每一天,检查它是否在要排除的星期几中。如果是,则将days减1。最后,我们返回days作为结果。

您可以根据需要修改start_dateend_dateexclude_weekdays变量来测试不同的日期范围和要排除的星期几。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel实战技巧:使用日期时间值

了解如何使用Excel日期值可以帮助我们在日常电子表格工作节省大量时间,本文就来介绍如何使用它们技巧。...图1 5.找出给定日期星期 如果想要确定一天是周末还是工作日,只需使用WEEKDAY()函数即可完成此操作。...如果你想从星期开始一周,则使用=WEEKDAY("2021-7-28",2)。 6.使用条件格式突出显示周末 如果想要在一系列日期突出显示周末,则可以使用条件格式,如下图2所示。...=TODAY()-DATE(2021,1,1):返回今天与指定日期2021年1月1日之间天数。 =WORKDAY(TODAY(),5):返回今天开始5个工作日后日期。...在Excel处理日期常见问题 在Excel中使用与日期时间相关值或公式时,可能会碰到如下一些问题。

3.8K30
  • python3datetime库详解

    另外一点是,由于是基于Unix Timestamp,所以其所能表述日期范围被限定在 1970 - 2038 之间,如果你写代码需要处理在前面所述范围之外日期,那可能需要考虑使用datetime模块更好..., 6) 4.datetime.date.isoformat():返回格式如YYYY-MM-DD 5.datetime.date.isoweekday():返回给定日期星期(0-6)星期一=0,星期日...=6 这里表明下python3是从[1-7]表示 就是本来是星期现在显示就是星期 6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期 7...%c 本地相应日期表示时间表示 %j 年内一天(001-366) %p 本地A.M.或P.M.等价符 %U 一年星期数(00-53)星期天为星期开始 %w 星期(0-6),星期天为星期开始...%W 一年星期数(00-53)星期一为星期开始 %x 本地相应日期表示 %X 本地相应时间表示 %Z 当前时区名称 %% %号本身 二、看一下datetimetime类 time类有5个参数

    2.3K10

    PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】

    分享给大家供大家参考,具体如下: 时间函数是PHP里面的日常函数,时间默认时期,今天、昨天、明天 、上一周、下一周,本周开始时间结束时间;本月开始时间结束时间;上月开始时间结束时间,指定日期周一周日等等方法...;本月开始时间结束时间;上月开始时间结束时间 date_default_timezone_set('PRC'); //默认时区 /** * 功能:取得给定日期所在周开始日期结束日期 * 参数:$gdate...日期,默认为当天,格式:YYYY-MM-DD * $first 一周以星期一还是星期开始,0为星期天,1为星期一 * 返回:数组array("开始日期", "结束日期"); * */ function...--; } PS:这里再为大家推荐款时间及日期相关工具供大家参考: 在线日期/天数计算器: http://tools.zalou.cn/jisuanqi/date_jisuanqi 在线日期计算器/...相差天数计算器: http://tools.zalou.cn/jisuanqi/datecalc 在线日期天数计算器: http://tools.zalou.cn/jisuanqi/onlinedatejsq

    4.4K31

    【重学 MySQL】三十二、日期时间函数

    周日是6 QUARTER(date) 返回日期对应季度,范围为1~4 WEEK(date) , WEEKOFYEAR(date) 返回一年第几周 DAYOFYEAR(date) 返回日期是一年第几天...周六是7 日期操作函数 函数 用法 EXTRACT(type FROM date) 返回指定日期中特定部分,type指定返回值 EXTRACT(type FROM date)函数type取值与含义...转化公式为:小时*3600+分钟*60+秒 SEC_TO_TIME(seconds) 将 seconds 描述转化为包含小时、分钟时间 计算日期时间函数 函数 用法 DATE_ADD(datetime...date所在月份最后一天日期 MAKEDATE(year,n) 针对给定年份与所在年份天数返回一个日期 MAKETIME(hour,minute,second) 将给定小时、分钟秒组合成时间并返回...(1,2,3,4…) %i 两位数字表示分钟(00,01,02) %S%s 两位数字表示秒(00,01,02…) %W 一周星期名称(Sunday…) %a 一周星期缩写(Sun.

    6710

    又肝了3天,整理了80个Python DateTime 例子,必须收藏!

    从特定日期获取周开始结束日期 两个日期之间差异(以秒为单位) 以这种格式获取昨天日期MMDDYY 从今天日期获取上周三 所有可用时区列表打印 获取指定开始日期结束日期之间日期范围 毫秒转换为数据...从给定日期获取星期 用 AM PM 打印当前时间 获得一个月最后一天 从工作日值获取工作日名称 将 N 小时数添加到当前日期时间 从当前日期获取年、月、日、小时、分钟 获取特定月份年份最后一个星期日...、月、日、时、分、秒 N 个数字添加到当前日期时间 获取指定开始日期结束日期之间日期范围 减去 N 个年、月、日、时、分、秒到当前日期时间 获取指定年份月份月份第一天工作日月份天数 打印特定年份所有星期一...打印特定年份日历 从月份编号获取月份名称 从给定日期获取一周开始结束日期 根据当前日期查找上一个下一个星期日期 获取当前季度第一个日期最后一个日期 1使用 time 模块展示当前日期时间...US/Mountain US/Pacific US/Samoa UTC Universal W-SU WET Zulu 31获取指定开始日期结束日期之间日期范围 import datetime

    8.8K30

    python3datetime库,time库以及pandas时间函数区别与详解

    另外一点是,由于是基于Unix Timestamp,所以其所能表述日期范围被限定在 1970 – 2038 之间,如果你写代码需要处理在前面所述范围之外日期,那可能需要考虑使用datetime模块更好..., 6) 4.datetime.date.isoformat():返回格式如YYYY-MM-DD 5.datetime.date.isoweekday():返回给定日期星期(0-6)星期一=0,星期日...=6 这里表明下python3是从[1-7]表示 就是本来是星期现在显示就是星期 6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期 7...%c 本地相应日期表示时间表示 %j 年内一天(001-366) %p 本地A.M.或P.M.等价符 %U 一年星期数(00-53)星期天为星期开始 %w 星期(0-6),星期天为星期开始...%W 一年星期数(00-53)星期一为星期开始 %x 本地相应日期表示 %X 本地相应时间表示 %Z 当前时区名称 %% %号本身 二、看一下datetimetime类 time类有5个参数

    2.6K20

    2024Mysql And Redis基础与进阶操作系列(7)作者——LJS

    SELECT MAKEDATE(2016, 3);-> 2016-01-03 EXTRACT(type FROM d) 基于给定参数年份 year 所在年中天数序号day-of-year 返回一个日期...d) 返回日期d月份值,1 到 12 SELECT DAYNAME('2012-11-11 11:11:11')->Friday DAYNAME(d) 返回日期 d 是星期,如 Monday,Tuesday...(d) 计算日期 d 是本年第几天 SELECT DAYOFYEAR('2011-11-11 11:11:11')->315 WEEK(d) 计算日期 d 是本年第几个星期范围是 0 到 53 SELECT...d 是星期,如 Monday,Tuesday SELECT DAYOFMONTH('2001-3-5 5:6:17')->11 DAYOFMONTH(d) 计算日期 d 是本月第几天 SELECT...) 计算日期 d 是本年第几个星期范围是 0 到 53 SELECT WEEK('2011-11-11 11:11:11')-> 45 WEEKDAY(d) 日期 d 是星期,0 表示星期

    7610

    【Java 基础篇】Java Calendar 类:日期时间处理指南

    获取一天开始结束时间 如果你需要获取某一天开始时间(通常是00:00:00)结束时间(通常是23:59:59),可以使用以下代码: Calendar calendar = Calendar.getInstance...获取指定日期星期 你可以使用 get(Calendar.DAY_OF_WEEK) 方法来获取指定日期星期。...获取月份天数 你可以使用 getActualMaximum(Calendar.DAY_OF_MONTH) 方法来获取指定月份天数。这对于计算每月最后一天特别有用。...日期时间范围:Calendar 类日期时间范围受到系统实现限制。...月份天数:要谨慎处理月份天数,不同月份天数是不同,如果不考虑这一点可能会导致日期计算错误。

    1.5K20

    SQL函数 DATEPART

    可以使用带有各种时间日期选项“设置选项”命令来修改其中几个日期部分返回值。 week:可以配置为使用默认算法或ISO 8601标准算法来确定给定日期一年星期。...请注意,ObjectScript $ZDATE$ZDATETIME函数计算天数是从0到6(而不是从1到7)。...datepart可以指定为带引号字符串,不带引号,或者在带引号字符串周围加上括号。无论如何指定,都不会对datepart执行文字替换;对日期表达式执行文字替换。...要省略Hour元素,日期表达式不能包含字符串日期部分,并且必须至少保留一个分隔符(:)。 日期时间值必须在有效范围内。年份:0001到9999。月份:1到12。天数:1到31天。小时:0到23。...一个月中天数必须与月年相匹配。例如,日期“02–29”仅在指定年份为闰年时有效。 大多数小于10日期时间值可能包含或省略前导零。

    1.8K20

    如何在腾讯云CVM中使用Date命令

    date命令显示当前日期时间。它还可用于以您指定格式显示或计算日期。或使用它来设置系统时钟。 个人推荐您使用免费腾讯云开发者实验室进行试验,学会安装后在购买服务器。...使用Linux date命令 如果在没有选项情况下使用,该date命令将显示当前系统日期时间,包括星期,月份,时间,时区年份: date Thu Apr 13 10:04:04 EDT 2017...示例 以下示例说明了如何使用date命令在各个时间点查找日期时间。...$ date -d @126507600 Fri Jan 4 00:00:00 EST 1974 确定给定日期星期 $ date -d "1974-01-04" +"%A" Friday 在脚本命令使用日期...在本例,我们将日期时间设置为2018年8月15日星期三下午15:15: date --set="20180815 15:52" 总结 怎样,你学会了嘛?赶快购买服务器尝试下吧!

    1.6K20

    如何在C语言中进行日期时间处理

    如何在C语言中进行日期时间处理日期时间处理在许多软件应用程序中都是非常重要功能。无论是计算两个日期之间天数,还是计算某个日期星期,C语言提供了丰富库函数功能来满足这些需求。...本文将介绍如何在C语言中进行日期时间处理。18如何在C语言中进行日期时间处理1. 获取当前日期时间要获取当前日期时间,可以使用time.h头文件time函数。...判断某个日期星期要判断某个日期星期,可以使用tm结构体tm_wday成员。该成员表示星期,其中0表示星期日,1表示星期一,以此类推。可以根据这个值来输出相应星期。...其他日期时间处理函数除了上面介绍函数外,C语言还提供了许多其他日期时间处理函数,比如计算闰年函数isleap,计算月份天数函数,以及将字符串转换为时间函数等。...本文介绍了获取当前日期时间、格式化日期时间、计算两个日期之间天数以及判断某个日期星期方法。同时,还提到了其他一些常用日期时间处理函数。

    98100

    冲击蓝桥杯-时间问题(必考)

    目录 前言: 一、时间问题 二、使用步骤 1、考察小时,分以及秒使用、 2、判断日期是否合法  3、遍历日期  4、推算星期 总结 ---- ---- 前言: 时间问题可以说是蓝桥杯,最喜欢考问题了...---- 一、时间问题 根据十年题目考察,这种类型题目有难有简单,简单甚至可以通过计算自带excel计算器来算,但是通常来投机取巧可以解决不多,掌握代码模板多加练习才是王道 。...("%02d:%02d:%02d",h,m,s); //02d意思是如果不足俩位数,前补0 return 0; } ---- 2、判断日期是否合法 这类题目比较经典有回文日期第八届蓝桥杯省赛...在13年省赛就考到了类似的用法 这里除了简单可以通过excel计算器求,往往会遇到日期太久了,这里有个给定日期吗,专门·计算星期方法——“基姆拉尔森计算公式” if(month<=2) month...1)/5+d)%7; if(w == 6){ cout << y << endl; } } return 0; } //这里直接遍历所有满足条件日期

    62350

    Excel基础入门——字符串文本日期函数详解(七)

    3、MID 基本用法:从指定字符串某个位置开始截取指定个数字符串,公式=MID(字符串,截取开始位置,返回字符个数)。...>求间隔年数,公式=DATEDIF(开始日期,结束日期,"Y") >求间隔月数,公式=DATEDIF(开始日期,结束日期,"M") >求间隔天数,公式=DATEDIF(开始日期,结束日期,"D") 例如...2、Weekday 基本用法:计算今天是星期,公式=WEEKDAY(日期,2)。...其中,公式日期就是我们要计算日期,第二个参数2表示从星期开始计算,如果是0表示从星期开始计算,通常从星期开始计算更符合我们中国人习惯。...例如,我们要计算客户购买日期分别属于星期,可以使用weekday进行计算

    1.7K20

    Linux时间戳转换_时间戳转换软件

    date 尝试将字符串解析为格式化日期时间(或者,如果未指定时间戳,则假定时间为 00:00 AM),然后打印出给定日期/或时间 UNIX 时间戳形式。...tm_mon 自一月以来月数,范围为 0 到 11。 tm_year 自 1900 年以来年数。 tm_wday 自星期日以来天数范围为 0 到 6。...%B 根据当前语言环境完整月份名称。 %c 当前语言环境首选日期时间表示。 %C 世纪数(年/100)为 2 位整数。 (苏) %d 以十进制数表示月份日期范围 01 到 31)。...(苏) %u 以十进制表示星期范围为 1 到 7,星期一为 1。另见 %w。 (苏) %U 以十进制数表示的当前年份周数,范围为 00 到 53,从第一个星期开始作为第 01 周第一天。...(苏) %w 以十进制表示星期范围为 0 到 6,星期日为 0。另见 %u。 %W 当前年份周数,十进制数,范围 00 到 53,从第一个星期开始作为第 01 周第一天。

    15.6K30

    Oracle函数 – 日期函数详解

    在Oracle准确来说一个礼拜是从星期开始星期结束,其中时间差以天数为单位。...例如next_day(sysdate,6)是从当前开始下一个星期五。很多查询条件统计都需要求得一周时间段,也就是星期一到星期时间段。给出日期d星期string之后计算下一个星期日期....String是星期;当前会话语言指定了一周某一天.返回值时间分量与d时间分量是相同....,查找该日为星期,并得到星期星期日具体日期 方式一:使用TO_CHAR(SYSDATE,'D')可以求得当前日期是一周第几天,得到结果是星期开始作为第1天,那么星期一就是第2天,星期日就是第...') 星期日   from dual;   方式二:SUBSTR代替DECODE函数,NEXT_DAY函数可以指定当前日期下一个星期日期,比如:今天是2018-5-14日,星期五,那么Next_Day

    7.1K11
    领券