如何确定日期是否是该月的最后一天?

时间:2013-08-29 03:10:34

标签: vb.net

有人可以帮助我确定给定日期是一个月的最后一个日期还是一天?

例如我有两个日期,一个是2013-01-27,另一个是2013-02-28。我需要确定哪个日期是最后一天。所以必须展示的是2013-02-28,因为它是2月份的最后一天,而2013-01-27并不是1月份的最后一天。

我可以使用的条件是什么?

提前致谢。

5 个答案:

答案 0 :(得分:6)

使用此:

Function IsLastDay(ByVal myDate As Date) As Boolean
    return myDate.Day = Date.DaysInMonth(myDate.Year, myDate.Month)
End Function

答案 1 :(得分:4)

添加一天,如果得到的答案不是同一个月,则您的日期是该月的最后一天。

答案 2 :(得分:2)

这对我有用:

Dim isLastDayOfMonth As Func(Of DateTime, Boolean) = _
    Function (dt) dt.AddDays(1).Day = 1

答案 3 :(得分:0)

希望这对你有帮助,它是Shawn de Wet建议答案的代码。 您可以将Datetime.today.month切换为具有特定日期的另一个变量,然后只需使用特定日期切换Today.Adddays(1).AddDays(1)

Dim dateOfToday As DateTime = Today.AddDays(1)

Sub isTodayTheLastDay()
    If DateTime.Today.Month = dateOfToday.Month Then
        'yes its the same month, place code here
    Else
        'no its not the same month, place code here
    End If

End Sub

-

Dim dateToCheck As New DateTime(2013, 4, 21) 'any date you want to check here
Dim Check As DateTime = dateToCheck.AddDays(1)


Sub isTodayTheLastDay()
    If dateToCheck.Month = Check.Month Then
        'yes its the same month, place code here
    Else
        'no its not the same month, place code here
    End If

End Sub

答案 4 :(得分:-1)

或者您可以检查第二天是否是该月的第一天。

如果您使用ruby,则可以使用以下条件:

(date + 1).day == 1

或者如果您使用的是python:

(date + datetime.timedelta(days=1)).day == 1

干杯!