我是一名 SQL 专家,但我需要一个函数来计算 VB.NET 中两个日期之间的工作日数。我不需要担心假期。不幸的是,我的尝试是徒劳的。非常感谢
这将进入 Reporting Service 2008 R2 中的自定义代码。
最佳答案
试试这个。我修改了我一直在使用的现有功能。这将在 SSRS 2008 中工作。请注意,您也可以用 C# 编写代码,如果您更习惯的话,在部署它之后,只需从报告中引用程序集。 1
public Shared Function Weekdays(ByRef startDate As Date, ByRef endDate As Date ) As integer
dim numWeekdays as Integer
dim totalDays as Integer
dim WeekendDays as Integer
numWeekdays = 0
WeekendDays = 0
totalDays = DateDiff(DateInterval.Day, startDate , endDate ) + 1
for i as integer = 1 to totalDays
if DatePart(dateinterval.weekday,startDate) = 1 then
WeekendDays = WeekendDays + 1
end if
if DatePart(dateinterval.weekday, startDate) = 7 then
WeekendDays = WeekendDays + 1
end if
startDate = DateAdd("d", 1, startDate)
next
numWeekdays = totalDays - WeekendDays
return numWeekdays
End Function
https://stackoverflow.com/questions/6710296/