VBScript DateDiff month

前端 未结 2 1326
半阙折子戏
半阙折子戏 2021-01-24 01:06

I am having a problem about getting the month datedifference between two dates. Here is a sample:

DateDiff(\"m\",\"2014-10-17\",\"2014-10-30\")

相关标签:
2条回答
  • 2021-01-24 01:06

    You can calculate day difference between two dates using 'DateDiff("d",date1,date2)'. Then calculate number of full-month by dividing 30 days.

    Following is an example.

    monthDiff = int(DateDiff("d","2014-10-17","2014-11-01") / 30)
    

    As you know, days of months differs by month. For example, November has 30 days and December has 31 days.

    If you wish to use 30 days a month when first day is on November, and to use 31 days a month whe first day is on December, the code need a table of days of months and routine to handle month information.

    0 讨论(0)
  • 2021-01-24 01:23

    DateDiff calculates the span between two timestamps with the precision defined in the first parameter. From what you described in your question and comments you rather seem to be looking for something like this:

    ds1 = "2014-10-17"
    ds2 = "2014-10-30"
    
    d1 = CDate(ds1)
    d2 = CDate(ds2)
    
    diff = DateDiff("m", d1, d2)
    If diff > 0 And Day(d2) < Day(d1) Then diff = diff - 1
    
    WScript.Echo diff & " full months have passed between " & ds1 & " and " & ds2 & "."
    
    0 讨论(0)
提交回复
热议问题