Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Visual Basic [VB] (http://www.go4expert.com/articles/visual-basic-tutorials/)
-   -   Date/Time Manipulation in .Net (http://www.go4expert.com/articles/date-time-manipulation-net-t4188/)

pradeep 7May2007 00:05

Date/Time Manipulation in .Net
 
While it has become common practice for developers to manipulate VB.NET date/time values manually, it's never a good idea because the result is rarely a correct date/time value. Whenever you try to use your own calculation routines for adding and subtracting date/time values, you risk generating a bug since it's hard to check the code for all possible outcomes, whereas utilizing appropriate .NET objects and methods is sure to provide correct results.

As you can see in Snippet A, the Date object provides for simple manipulation, which allows you to add and subtract date/time values in VB.NET. In the example, We define the Date variable dtNow and set it to the current date/time value. We utilize these Date object methods to manipulate the date: AddYears, AddMonths, AddDays, AddHours, AddMinutes, AddSeconds, and AddMilliseconds. For each method, we specify the number of years or months or hours to add. Subtraction is done by passing a negative value to the method. Notice that these methods will never result in an impossible date; manual manipulation cannot guarantee such results.

Snippet A
Code: VB.Net

Private Sub AddDateTime()
 
      Dim dtNow As Date = Now()
      MsgBox(dtNow)
 
      dtNow = dtNow.AddYears(20)
      MsgBox(dtNow) 'the Date object provides for simple manipulation that allows you to add and subtract date/time values in VB.NET.
 
      dtNow = dtNow.AddMonths(10)
      MsgBox(dtNow)
 
      dtNow = dtNow.AddDays(3)
      MsgBox(dtNow)
 
      dtNow = dtNow.AddHours(5)
      MsgBox(dtNow)
 
      dtNow = dtNow.AddMinutes(2)
      MsgBox(dtNow)
 
      dtNow = dtNow.AddSeconds(6)
      MsgBox(dtNow)
 
      dtNow = dtNow.AddMilliseconds(4)
      MsgBox(dtNow)
 
      dtNow = dtNow.AddYears(-2)
      MsgBox(dtNow)
 
  End Sub



All times are GMT +5.5. The time now is 15:21.