SSIS - 在脚本任务中获取两个日期之间的分钟差

SSIS - Get difference in minutes between two dates in Script Task

提问人:Conrad Jagger 提问时间:11/3/2012 更新时间:11/3/2012 访问量:1707

问:

我使用 vb.net 并使用以下内容编写了脚本组件:

        Dts.VariableDispenser.LockForWrite("User::StepStartTime")
        Dts.VariableDispenser.LockForWrite("User::StepEndTime")

在 Start 时为此分配值 vars(“User::StepStartTime”)。值 = Date.Now

在 End 为此赋值 vars(“User::StepEndTime”)。值 = Date.Now

我正在努力寻找一个可以在上述两个日期之间提供分钟差异的函数。

问候

vb.net SSIS

评论


答:

1赞 Bill Anton 11/3/2012 #1

只需减去它们......

DateTime tStart = Dts.VariableDispenser.LockForRead("User::StepStartTime");
DateTime tEnd = Dts.VariableDispenser.LockForRead("User::StepEndTime");

// Capture differnce between two datetime values
TimeSpan tSpan = tEnd.Subtract ( tStart );

// Capture tSpan in minutes
Dts.VariableDispenser.LockForWrite("User::DiffInMinutes") = tSpan.TotalMinutes;

引用

http://msdn.microsoft.com/en-us/library/1905yhe2.aspx

http://msdn.microsoft.com/en-us/library/system.timespan.aspx

评论

0赞 Conrad Jagger 11/3/2012
它在这一行给了我错误 - 表达式不产生值 Dim tStart As DateTime = Dts.VariableDispenser.LockForRead(“User::StepStartTime”) Dim tEnd As DateTime = Dts.VariableDispenser.LockForRead(“User::StepEndTime”)
0赞 Conrad Jagger 11/3/2012
当我尝试这样做时,它仍然给我错误 Dim tStart As New DateTime,然后 tStart = vars(“User::StartEndTime”)。值 需要转换吗