Vb.net 计算一下日期是否是每隔一个星期五,如果是,做点什么
因此,我需要知道如何每隔一个星期五抓取一次,从星期五的日期开始,让程序检查该日期是否为这些日期之一,如果是,则执行X函数。到目前为止,我找到了如何在一个星期五之后找到星期五,但我需要它来收集日期并保存它们,然后对照它们进行检查Vb.net 计算一下日期是否是每隔一个星期五,如果是,做点什么,vb.net,date,Vb.net,Date,因此,我需要知道如何每隔一个星期五抓取一次,从星期五的日期开始,让程序检查该日期是否为这些日期之一,如果是,则执行X函数。到目前为止,我找到了如何在一个星期五之后找到星期五,但我需要它来收集日期并保存它们,然后对照它们进行检查 Dim payday as Date= GetNext(DayOfWeek.Friday) Function GetNext(ByVal d As DayOfWeek, Optional ByVal StartDate As Date = Nothing) As Da
Dim payday as Date= GetNext(DayOfWeek.Friday)
Function GetNext(ByVal d As DayOfWeek, Optional ByVal StartDate As Date = Nothing) As Date
If StartDate = DateTime.MinValue Then StartDate = Now
For p As Integer = 1 To 7
If StartDate.AddDays(p).DayOfWeek = d Then Return StartDate.AddDays(p)
Next
End Function
下面是我想到的If语句
If Date.Today = payday Then
'do this
End If
我所想的大概情况
Dim startDate As Date 'fill with an initial Friday
Function IsPayday(Optional dte as Date? = Nothing) As Boolean
dte = If(dte, Today)
Return DateDiff(DateInterval.Day, startDate, dte) Mod 14 = 0
End Function
并使用它:
Dim yesterday = Today.AddDays(-1)
If IsPayday(yesterday) Then
'yesterday was a pay day
End If
If IsPayday() Then
'today is a pay day
End If
并使用它:
Dim yesterday = Today.AddDays(-1)
If IsPayday(yesterday) Then
'yesterday was a pay day
End If
If IsPayday() Then
'today is a pay day
End If
并使用它:
Dim yesterday = Today.AddDays(-1)
If IsPayday(yesterday) Then
'yesterday was a pay day
End If
If IsPayday() Then
'today is a pay day
End If
并使用它:
Dim yesterday = Today.AddDays(-1)
If IsPayday(yesterday) Then
'yesterday was a pay day
End If
If IsPayday() Then
'today is a pay day
End If
如果它是一个扩展,那么OP使用它的方式可能会更好:
如果thisDate.IsPayDay()那么…
@puropoix我觉得发薪日的确定是一个业务逻辑规则,不适合全球范围,因此不应该是日期的扩展。但这取决于OP。然后测试日期可以设置为date。今天将今天的日期拉对吗?并检查这一天是否不是从2015年8月28日起每隔一个星期五,如果不是ispayday(testdate),我可以这样做,对吗?@Morrg Yes。请参阅语句和运算符。如果它是一个扩展,那么OP使用它的方式可能会更好:如果thisDate.IsPayDay()那么…
@puropoix我觉得发薪日的确定是一个业务逻辑规则,而不是全局适用的,因此不应该是日期的扩展。但这取决于OP。然后测试日期可以设置为date。今天将今天的日期拉对吗?并检查这一天是否不是从2015年8月28日起每隔一个星期五,如果不是ispayday(testdate),我可以这样做,对吗?@Morrg Yes。请参阅语句和运算符。如果它是一个扩展,那么OP使用它的方式可能会更好:如果thisDate.IsPayDay()那么…
@puropoix我觉得发薪日的确定是一个业务逻辑规则,而不是全局适用的,因此不应该是日期的扩展。但这取决于OP。然后测试日期可以设置为date。今天将今天的日期拉对吗?并检查这一天是否不是从2015年8月28日起每隔一个星期五,如果不是ispayday(testdate),我可以这样做,对吗?@Morrg Yes。请参阅语句和运算符。如果它是一个扩展,那么OP使用它的方式可能会更好:如果thisDate.IsPayDay()那么…
@puropoix我觉得发薪日的确定是一个业务逻辑规则,而不是全局适用的,因此不应该是日期的扩展。但这取决于OP。然后测试日期可以设置为date。今天将今天的日期拉对吗?并检查这一天是否不是从2015年8月28日起每隔一个星期五,如果不是ispayday(testdate),我可以这样做,对吗?@Morrg Yes。请参阅语句和运算符。