[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 169
  • Last Modified:

Interval (in days) between 2 dates

Hello,

How can I find the interval between 2 dates?

Examples:
IntervalDates("16/4/2002", "24/4/2002") will return 8
IntervalDates("28/2/2002", "1/3/2002") will return 1
IntervalDates("28/2/2000", "1/3/2000") will return 2
IntervalDates("31/12/2001", "1/1/2002") will return 1
IntervalDates("26/5/2002", Date)
etc...

Thanks in advance.
0
slavikn
Asked:
slavikn
1 Solution
 
Éric MoreauSenior .Net ConsultantCommented:
Use DateDiff
0
 
bruintjeCommented:
Hi slavikn,

you can try something like

function intervaldate(Byval Date1 as string, _
                      Byval Date2 as string, _)
  intervaldate = cdate(date1)  -  cdate(date2)
end function

:O)Bruintje
0
 
MonchangerCommented:
Just subtract one date from the other.

Public Function IntervalDates(ByVal StartDate As Date, ByVal EndDate As Date) As Integer

    IntervalDates = EndDate - StartDate
End Function

(PS - if you want to compare dates that are very far away, you should change the return value to 'long')

slavikn, you seem to be quite new to VB. I suggest that instead of spending a lot of points on this site with these questions (not that I mind collecting them ;-) ), you just check out a few of these sites for tutorials and code examples:

This site contains a lot of code by all types of programmers (Including a lot of beginner stuff)
http://www.planet-source-code.com

This site has a lot of well organized code:
http://www.freevbcode.com/

Another great site:
http://www.vbsquare.com/

Good luck.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Éric MoreauSenior .Net ConsultantCommented:
I just saw that some of your dates are inversed, you should use the mm/dd/yyyy format not to have problem.

Private Sub Form_Load()
    MsgBox IntervalDates("4/16/2002", "4/24/2002") 'will return 8
    MsgBox IntervalDates("2/28/2002", "3/1/2002") 'will return 1
    MsgBox IntervalDates("2/28/2000", "3/1/2000") 'will return 2
    MsgBox IntervalDates("12/31/2001", "1/1/2002") 'will return 1
    MsgBox IntervalDates("5/26/2002", Date)
End Sub

Private Function IntervalDates(ByVal pdtm1 As Date, ByVal pdtm2 As Date) As Integer
    IntervalDates = Abs(DateDiff("d", pdtm1, pdtm2))
End Function
0
 
CrinCommented:
emoreau, world is not limited to USA/Canada and somewhere else people uses dd/mm/yyyy date format, CDate function as well as other conversion functions are based on the system local settings. Only dates where day is 13 or greater will be converted right way in any conditions.

Sincerely,
Crin
0
 
mani_m_inCommented:
      You can find the intervals between two Dates  by using the DateDiff Function.

       The syntax for this function is

       DateDiff("d",FirstDate,SecondDate)

 -it returns the interval between the two dates.

the same function also used for finding month and year difference between two dates by chaning the first parameter.

MM -- for Month difference
YYYY-Year Difference
 
0
 
slaviknAuthor Commented:
Thanks!
Most of all other answeres used the same function.
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now