DTS包的Visual Basic时间变量

时间:2019-03-20 17:16:53

标签: vb.net dts

我正在将一些DTS包从Visual Basic转换为C#,并且想知道下面的@OldDate会产生什么。我不是VB.NET专家,真的没有时间玩这个游戏。而且它必须是正确的,所以我可以联系我们!

datActionDate = Now()
intNumberOfDays = 365
businessDays = 0

Set .ActiveConnection = objConnection
    .CommandType = 4
    .CommandText = strStoredQuery
    .Parameters.Append .CreateParameter("@OldDate",7,1,8,CDate(datActionDate))
    .Execute

任何帮助将不胜感激!

*编辑datActionDate是来自do循环的数字。 holidayLs基本上是根据日期列表检查该日期的

do until bdays = intNumberOfDays
    datActionDate = DateAdd("d", -1, datActionDate)
    if weekday(datActionDate) > 1 and weekday(datActionDate) < 7 then
        if not holidayLs(datActiondate) then
            businessDays = businessDays + 1
        end if
    end if
loop

1 个答案:

答案 0 :(得分:0)

在对VB有了足够的基础知识以足以阅读此代码之后,我发现这个问题不再是关于语法的问题,而是更多地通过逻辑工作的问题。从今天起,@ OldDate最终将是大约470天的数字

DateAdd("d", -1, datActionDate)

从datActionDate中减去一天,该日期定义为

datActionDate = Now()

我不熟悉平日()只是产生一个数字天。所以下面的语句

if weekday(datActionDate) > 1 and weekday(datActionDate) < 7 then

基本上是在寻找不是周六和周日的日子(一年中有105天,这是从今天起递减的最小值)

当减去此行中的holidayLs(大约11个)中的假期时

if not holidayLs(datActiondate) then

然后datActionDate = 2018年11月24日星期六