Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

Tricks with DateSerial

Total Hit ( 3089)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


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:

Click here to copy the following block
' 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


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.