Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB4,VB5,VB6
Expertise: Intermediate
Apr 29, 2000

Tricks with DateSerial

The DateSerial function has an interesting feature: it doesn't raise errors when you pass it an invalid month or day number. Instead, it evaluates the date as if the arguments were valid. For example, DateSerial(2000, 1, 32) returns the Date value of February 1, 2000. This behavior can (and should) be considered as a bug, but it's a fact that it has never changed since VB1 and it is highly unlikely that Microsoft will change it in future versions of VB.

You can take advantage of this feature by writing date functions that would be rather difficult to write otherwise. For example:



' the last day of a givan month
Function EndOfMonth(Year As Integer, Month As Integer) As Date
    EndOfMonth = DateSerial(Year, Month + 1, 0)
End Function

' number of days in a month
Function DaysInMonth(Year As Integer, Month As Integer) As Integer
    DaysInMonth = Day(DateSerial(Year, Month + 1, 0))
End Function

' True if leap year
Function IsLeapYear(Year As Integer) As Boolean
    IsLeapYear = (Day(DateSerial(Year, 3, 0)) = 29)
End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date