需要在VB脚本中进行说明以执行一些日计算

需要在VB脚本中进行说明以执行一些日计算

问题描述:

我目前正在使用VB脚本在HP应用程序生命周期管理工具中定义工作流脚本。需要在VB脚本中进行说明以执行一些日计算

我的问题是我必须生成一个Excel图表来计算各个开发人员在特定Sprint(时间范围)中所做的努力。在生成相同的过程中,我的条件是从图表中消除周末日期(即周六和周日)。如果Sprint开始日期在周末,则自动将日期初始化为下一个即时星期一,并且如果Sprint结束日期在周末结束,则结束日期应显示为刚过去的星期五。我已经验证了这两个条件。我试图削减这两天之间进入的周六和周日。请帮助我一样。如果您需要我的任何输入,请让我知道。

+0

您需要显示一些代码才能让任何人帮助您。就目前来看,这个问题非常模糊。 – 2012-08-17 07:29:52

@Sabaresh,我相信这就是你要找的。

提示:请参阅this answer了解有关将Microsoft权威性WSH参考下载为Windows帮助文件的信息。

Option Explicit 

Dim dCandidateDate, dActualStartDate, dActualEndDate 

dCandidateDate = CDate("2012/08/18") 
dActualStartDate = SprintStartDate(dCandidateDate) 

dCandidateDate = CDate("2012/09/16") 
dActualEndDate = SprintEndDate(dCandidateDate) 

WScript.Echo "Sprint date range: " _ 
     & dActualStartDate & " through " & dActualEndDate 

' 
' Return following Monday if dCandidateDate is 
' Saturday or Sunday. 
' 
Function SprintStartDate(dCandidateDate) 
    Dim nWeekday : nWeekday = DatePart("w", dCandidateDate) 
    Select Case nWeekday 
     Case 7 ' Saturday 
      SprintStartDate = DateAdd("d", 2, dCandidateDate) 
     Case 1 ' Sunday 
      SprintStartDate = DateAdd("d", 1, dCandidateDate) 
     Case Else 
      SprintStartDate = dCandidateDate 
    End Select 
End Function 

' 
' Return previous Friday if dCandidateDate is 
' Saturday or Sunday. 
' 
Function SprintEndDate(dCandidateDate) 
    Dim nWeekday : nWeekday = DatePart("w", dCandidateDate) 
    Select Case nWeekday 
     Case 7 ' Saturday 
      SprintEndDate = DateAdd("d", -1, dCandidateDate) 
     Case 1 ' Sunday 
      SprintEndDate = DateAdd("d", -2, dCandidateDate) 
     Case Else 
      SprintEndDate = dCandidateDate 
    End Select 
End Function