【问题标题】:SSIS - Get difference in minutes between two dates in Script TaskSSIS - 获取脚本任务中两个日期之间的分钟差
【发布时间】:2012-11-02 17:16:10
【问题描述】:

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

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

在开始时为此赋值 vars("User::StepStartTime").Value = Date.Now

在结束时为此赋值 vars("User::StepEndTime").Value = Date.Now

我正在努力寻找一个可以在上述两个日期之间以分钟为单位的函数。

问候

【问题讨论】:

    标签: vb.net ssis


    【解决方案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

    【讨论】:

    • 这行给我错误 - 表达式不会产生值 Dim tStart As DateTime = Dts.VariableDispenser.LockForRead("User::StepStartTime") Dim tEnd As DateTime = Dts.VariableDispenser.LockForRead ("用户::StepEndTime")
    • 当我尝试这个时它仍然给我错误 Dim tStart As New DateTime 然后 tStart = vars("User::StartEndTime").Value 是否需要转换
    猜你喜欢
    • 1970-01-01
    • 2012-11-28
    • 2021-01-31
    • 1970-01-01
    • 2011-03-24
    • 2014-01-17
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多