VB.NET - 计算两个日期之间的天数(排除)

2023-12-31

我正在尝试计算两个日期之间的天数,不包括星期六 and Sundays。到目前为止我已经写了这段代码

Dim startDay As Integer
Dim endDay As Integer
Dim days As Integer
Dim count As Integer

startDay = dtpStartDate.Value.DayOfWeek
endDay = dtpEndDate.Value.DayOfWeek

For days = startDay To endDay
    If days = 0 Or days = 6 Then           'Sunday = 0, Saturday = 6
        count += 1
    End If
Next

    lblNoOfDays.Text = count

如果您选择同一周内的两个日期,效果很好。 (例如:1 月 23 日至 1 月 27 日,结果为 5) 但是,如果我将它们设置为不同星期的日期(例如:1 月 23 日到 1 月 30 日,给出结果 1),则会给出不正确的结果。

我知道这是由于循环而发生的,但我想不出一种方法来克服这个问题。谁能给我一个建议,解决方案?

谢谢


Dim count = 0
Dim totalDays = (dtpEndDate - dtpStartDate).Days

For i = 0 To totalDays
    Dim weekday As DayOfWeek = startDate.AddDays(i).DayOfWeek
    If weekday <> DayOfWeek.Saturday AndAlso weekday <> DayOfWeek.Sunday Then
        count += 1
    End If
Next

lblNoOfDays.Text = count
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VB.NET - 计算两个日期之间的天数(排除) 的相关文章

随机推荐

  • 未触发提交类型输入的提交事件

    我写了一个愚蠢的例子来看看两者中的哪一个 click or the submit事件 首先在 type 的输入上触发submit 但是 当我运行它时 没有任何内容写入控制台 在调试器中单步执行代码会发现以下一系列情况 它会触发click事件
  • 在 Python 中,我应该如何测试变量是否为 None、True 或 False

    我有一个函数可以返回以下三项之一 成功 True 失败 False 读取 解析流时出错 None 我的问题是 如果我不应该测试True or False 我应该如何查看结果是什么 以下是我目前正在做的事情 result simulate o
  • C++ 中的函数与 Python 的 strip() 类似吗?

    Python中有一个非常有用的函数 叫做strip http docs python org library string html highlight strip string strip C 中有类似的吗 我用这个 include
  • __stdcall typedef g++ 问题

    这段代码编译 正如我所期望的 typedef void stdcall Func struct A static void stdcall f int main Func p A f 但这一个 struct A typedef void s
  • 将拍摄图像的背景颜色从相机更改为白色

    我正在开发一个应用程序 用户可以在其中捕获一些图像 然后他会将背景颜色更改为白色 与 FotoFuze org 的做法相同 我想知道如何将背景颜色更改为白色而不丢失对象数据 为此 我经历了一些事情 例如检测背景颜色 并将背景色的像素编辑为透
  • Excel vba 代码停止工作(变量未定义)

    免责声明 我不是程序员 我把时间花在服务器故障上 我只是一个低级管理员 我们有一个在 Office 2003 中创建的 Excel 电子表格 其中包含 vba 代码 我们最近使用了 Office 2007 电子表格继续正常工作 但是 安装
  • 使用 WaitForMultipleObjects 等待多个线程

    我正在使用WaitForMultipleObjects函数等待多个线程的完成 但我做错了什么 因为结果不是预期的 请参阅此示例代码 type TForm1 class TForm Memo1 TMemo Button1 TButton pr
  • teamcity 构建项目无法启动 MSBuild.exe。路径中存在非法字符

    我正在尝试在 teamcity 中构建一个项目 它将执行 TFS 的签出 并且文件位于构建服务器本地 如果我在服务器上手动运行构建命令 它会起作用 C WINDOWS Microsoft NET Framework v4 0 30319 m
  • 如何在 Ruby 中修复这个多行正则表达式?

    我的 Ruby 正则表达式在多行模式下无法正常工作 我正在尝试将 Markdown 文本转换为 Redmine 中使用的 Textile eque 标记 问题出在我用于转换代码块的正则表达式中 它应该找到任何以 4 个空格或制表符开头的行
  • Bitbucket git 凭证(如果已通过 Google 注册)

    我在 bitbucket org 上有一个帐户 是通过使用我的 Google 帐户注册创建的 现在 每次登录时 我只需单击 使用 Google 登录 即可 如何从 git 命令行访问我的存储库 它要求我输入用户名和密码 我有用户名 但没有密
  • python multiprocessing - 将子进程日志发送到在父进程中运行的GUI

    我正在编写的一些分析代码之上构建一个接口 用于执行一些 SQL 并处理查询结果 我想向用户公开此分析代码中围绕许多事件的日志记录 因为分析代码运行时间相当长 并且因为我不希望 UI 阻塞 所以到目前为止我已经通过将分析函数放入其自己的线程中
  • 类型“boolean”不可分配给类型“ObservableInput<{}>”

    我正在开发 Angular 6 项目 我正在为我的routeGuards 使用 canDeactivate 并使用弹出窗口来显示路线留下消息 但问题出在我的价格表守卫服务上悬停 flatMap isAllow gt Error 类型 isA
  • 让文本穿过 div

    好的 这是一项调查 其中 div 是图表 就像您在 Facebook 上看到的那样 基本上 div style border 1px solid black width 300px div style width 100px This te
  • 通过 google play 更新应用程序时下载内容?

    所以这是我第一次发送我的应用程序的更新 我不知道通过 google play 更新应用程序时实际会发生什么 以下是一些我无法得到答案的问题 实际更新了什么以及这个过程如何工作 即更新完成时的方法或回调 共享首选项文件会发生什么情况 名称值对
  • 属性或枚举或静态最终

    当涉及到在名称 值对中声明预定义常量时 我 一直在 java util Properties enums 或具有 public static final 值的单独类之间随机选择 为了供将来参考 我需要一些关于采取哪种方法的指南 Thanks
  • MSDN 上的 101 LINQ 示例中的这段代码是否存在错误? (更新:已修复)

    NOTE 查理 卡尔弗特 https stackoverflow com users 253576 ccalvert下面回复说 101 个 LINQ 示例现已更新为正确的代码 MSDN Visual C 开发人员中心有一个名为101 个 L
  • 任务中的基本容器已退出

    我正在尝试使用 aws ecs 配置我的 docker hub 映像 我在运行任务时创建了存储库 集群和任务 但在任务退出 1 中收到错误作为基本容器 在尝试获取确切的错误详细信息时 我发现我的一些变量显示为未配置 找到错误所附的屏幕截图
  • 如何删除旧的订阅

    我有 3 年的订阅 我只想删除 2 年未使用的旧订阅和孤儿订阅 下面的脚本显示了所有订阅 计划 创建时间 上次执行时间 对于缺乏归属表示歉意 您可以使用它来查找要转储的订阅位置 并使用 Kavins 指示手动删除它们 SSRS SUbscr
  • 如何使用 sympy 定义条件函数?

    我希望能够定义一个表达式 该表达式获取定义变量的所有值并将表达式计算为0当它没有定义时 与此类似 import numpy as np import sympy as sp def expr k1 k2 x y sp symbols x y
  • VB.NET - 计算两个日期之间的天数(排除)

    我正在尝试计算两个日期之间的天数 不包括星期六 and Sundays 到目前为止我已经写了这段代码 Dim startDay As Integer Dim endDay As Integer Dim days As Integer Dim