DTS包的Visual Basic时间变量

问题描述 投票:-2回答:1

我正在将一些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
vb.net dts
1个回答
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日星期六

© www.soinside.com 2019 - 2024. All rights reserved.