Vb.net 如何计算报表查看器表达式上的日期间隔时间

Vb.net 如何计算报表查看器表达式上的日期间隔时间,vb.net,reportviewer,Vb.net,Reportviewer,我有一个程序,使用报表查看器向用户显示各种类型的数据,我需要其中一个来(基本上)计算两个日期之间没有周末的天数(即:从星期五到星期一,应该显示2,而不是4) 到目前为止,我可以计算,但周末 如果有人知道怎么做,我会很感激的 代码示例:(在我的一个表上用作表达式的公式) 从,我已将Alec Pojidaev(未接受)的答案转换为VB。我还返回了一个整数而不是双精度: Public Shared Function GetBusinessDays(startD As DateTime, endD As

我有一个程序,使用报表查看器向用户显示各种类型的数据,我需要其中一个来(基本上)计算两个日期之间没有周末的天数(即:从星期五到星期一,应该显示2,而不是4)

到目前为止,我可以计算,但周末

如果有人知道怎么做,我会很感激的

代码示例:(在我的一个表上用作表达式的公式)

从,我已将Alec Pojidaev(未接受)的答案转换为VB。我还返回了一个整数而不是双精度:

Public Shared Function GetBusinessDays(startD As DateTime, endD As DateTime) As Integer
    Dim calcBusinessDays As Double = 1 + ((endD - startD).TotalDays * 5 - (startD.DayOfWeek - endD.DayOfWeek) * 2) / 7
    If CInt(endD.DayOfWeek) = 6 Then
        calcBusinessDays -= 1
    End If
    If CInt(startD.DayOfWeek) = 0 Then
        calcBusinessDays -= 1
    End If
    Return CInt(calcBusinessDays)
End Function
用法:

GetBusinessDays(date1, date2)

顺便说一句,在未来,您需要的是如何在[此处输入语言]中计算两个日期之间的工作日数。快速的网络搜索会给你带来很多答案。

Verdolino:谢谢编辑1º:我在网上搜索过这个,找不到任何适合我的案例2º:我用标签告诉你我在使用哪种语言。另外,我有点需要在表达式上使用它,所以“用法”部分不合适。但我会努力适应的。谢谢!利奥,我用C#搜索答案,因为使用这种语言的人要多得多。这就是为什么我必须转换成VB。我通常更幸运地搜索C#答案,尽管我大部分是用VB编写的。祝你好运需要检查我的数据,但它似乎工作正常。如果可以,我会投UPU的票,所以+太好了!您应该至少能够标记已完成…:)
GetBusinessDays(date1, date2)