任何两个日期之间的哪个月?

时间:2014-05-25 22:35:13

标签: date asp-classic

我只在日期间隔上显示月份,而不是几天。

For i=initDate to endDate
   response.write month(i)
next

在这种情况下,结果为:5555555666666667777777......

每隔一天重复几个月,但我只有几个月的显示结果。

例如:5,6,7,8,9,10,11,12...

2 个答案:

答案 0 :(得分:1)

我不确定我是否理解但也许这会有所帮助。它存储显示在变量(lastMonth)中的最后一个月,并且只显示已更改的月份。它显示了第一个月,因为lastMonth在创建时设置为零,并且在零循环中永远不应该有一个月。

Dim lastMonth
lastMonth = 0
For i=initDate to endDate
   If lastMonth <> Month(i) Then
      response.write month(i)
      lastMonth = Month(i)
   End If
next

答案 1 :(得分:1)

使用@John认为their answer在正确的轨道上。

但是,您是否可以通过从initDateendDate变量获取开始和结束月份并逐步完成这几个月来简化方法?

喜欢的东西;

Dim initMonth, endMonth

initMonth = Month(initDate)
endMonth = Month(endDate)

For i = initMonth To endMonth
  Response.Write i
Next

如果您确信initDateendDate始终是日期值,则可以进一步简化。

For i = Month(initDate) To Month(endDate)
  Response.Write i
Next