1

我正在尝试移动日期,即后退一个月或前进一个月。如果我从本月(2 月)将一个月向后移动到 1 月,如果我添加一个月,它会保持 2 月的最后一天(28 日)相同。开始日期很好,因为所有月份都从 1 日开始。

请任何人都可以建议。谢谢

维生素B

            hStartDate.Value = "2013/2/01 12:00:00 AM"
            hEndDate.Value = "2013/2/28 11:59:59 PM"


            Dim StartDate As New Date
            StartDate = hStartDate.Value
            hStartDate.Value = StartDate.AddMonths(-1)


            Dim EndDate As New Date
            EndDate = hEndDate.Value
            hEndDate.Value = EndDate.AddMonths(-1)

输出

            hStartDate.Value = "2013/01/01"
            hEndDate.Value = "2013/01/28 11:59:59 PM"
4

2 回答 2

0

这应该会有所帮助:DevCurry它基本上是在本月的第一天并删除一天,从而导致上个月的最后一天。

    hStartDate.Value = "2013/2/01 12:00:00 AM"
    hEndDate.Value = "2013/2/28 11:59:59 PM"


    Dim StartDate As New Date
    StartDate = hStartDate.Value
    hStartDate.Value = StartDate.AddMonths(-1)


    Dim EndDate As New Date
    EndDate = hEndDate.Value
    hEndDate.Value = StartDate.AddDays(-1)
于 2013-02-04T07:19:43.547 回答
0

试试这个来设置结束日期(hStartDate修改后):

hEndDate.Value = New Date(hStartDate.Year, hStartDate.Month, Date.DaysInMonth(hStartDate.Year, hStartDate.Month))

该函数Date.DaysInMOnth()返回给定年份中一个月的最后一天。如果您愿意,也可以这样设置日期:

hEndDate.Value = EndDate.AddMonths(-1)
hEndDate.Value.Day = Date.DaysInMonth(hStartDate.Year, hStartDate.Month)
于 2013-02-04T08:35:11.160 回答