2

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

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

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

提前致谢。

4

5 回答 5

6

Use this:

Function IsLastDay(ByVal myDate As Date) As Boolean
    return myDate.Day = Date.DaysInMonth(myDate.Year, myDate.Month)
End Function
于 2013-08-29T05:07:25.050 回答
4

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

于 2013-08-29T03:14:55.783 回答
2

这对我有用:

Dim isLastDayOfMonth As Func(Of DateTime, Boolean) = _
    Function (dt) dt.AddDays(1).Day = 1
于 2013-08-29T03:48:15.960 回答
0

希望这对您有所帮助,它是 Shawn de Wet 建议答案的代码。您可以将 Datetime.today.month 切换为具有特定日期的另一个变量,然后只需将 Today.Adddays(1) 切换为特定 date.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
于 2013-08-29T03:58:27.877 回答
-1

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

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

(date + 1).day == 1

或者,如果您使用的是 python:

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

干杯!

于 2013-08-29T03:21:21.043 回答