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

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


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

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


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
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date