*** 4. FormatDateTime – Full Example ***
FormatDateTime Example Output Screenshot
Step 1: Click Visual Basic to Cut-n-paste code into clsFormatDateTime.vb
Public Class clsFormatDateTime
Public Sub Main()
'****************************************************************************************
' Purpose: Returns a string representing the datetime.
'
' Syntax: String.Format(datetime, formatspecifier)
'
' Parameter1: datetime - Required - datetime value to be formatted
'
' Parameter2: formatspecifier - required - format to be applied to date.
' Here are custom format specifiers y (year), M (month), d (day),
' h (hour 12), H (hour 24), m (minute), s (second),
' f (second fraction), F (second fraction, trailing zeroes are trimmed),
' t (P.M or A.M) and z (time zone).
'
' Result: string - Returns a string reperesenting the datetime.
'
' Quick Example: Dim dt As New DateTime(2009, 12, 20, 20, 4, 8, _
' 101)
' ' Ways to format year: "9 09 009 2009" year
' Console.WriteLine(String.Format("{0:y yy yyy yyyy}", dt))
' ' returns 9 09 009 2009
'
'**************************************************
' Custom DateTime Formatting
'**************************************************
Console.WriteLine("Custom DateTime Formatting:")
'Here are custom format specifiers y (year), M (month), d (day), h (hour 12), H (hour 24), m (minute), s (second),
' f (second fraction), F (second fraction, trailing zeroes are trimmed), t (P.M or A.M) and z (time zone).
'Following examples show how the format specifiers can be used.
' create date time 2009-12-21 20:04:08.101
Dim dt As New DateTime(2009, 12, 20, 20, 4, 8, _
101)
' Ways to format year: "9 09 009 2009" year
Console.WriteLine(String.Format("{0:y yy yyy yyyy}", dt))
' Ways to format month: "12 12 Dec December" month
Console.WriteLine(String.Format("{0:M MM MMM MMMM}", dt))
' Ways to format day: "21 21 Sun Sunday" day
Console.WriteLine(String.Format("{0:d dd ddd dddd}", dt))
' Ways to format hour: "8 08 20 20" hour 12/24
Console.WriteLine(String.Format("{0:h hh H HH}", dt))
' Ways to format minute: "4 04" minute
Console.WriteLine(String.Format("{0:m mm}", dt))
' Ways to format second: ' "8 08" second
Console.WriteLine(String.Format("{0:s ss}", dt))
' Ways to format fraction of second: "1 10 101 1010" sec.fraction
Console.WriteLine(String.Format("{0:f ff fff ffff}", dt))
' Ways to format fraction of second: "1 1 101 101" without zeros
Console.WriteLine(String.Format("{0:F FF FFF FFFF}", dt))
' How to display am or pm: "P PM" A.M. or P.M.
Console.WriteLine(String.Format("{0:t tt}", dt))
' How to display timezone: "-6 -06 -06:00" time zone
Console.WriteLine(String.Format("{0:z zz zzz}", dt))
'**************************************************
' Using date separator / (slash) and time sepatator : (colon).
'**************************************************
Console.WriteLine(vbCrLf)
Console.WriteLine("Using date separator / (slash) and time sepatator : (colon):")
'These characters will be rewritten to characters defined
'in the current DateTimeFormatInfo.DateSeparator and DateTimeFormatInfo.TimeSeparator.
' "20/12/09 20:04:08" - english (en-US)
Console.WriteLine(String.Format("{0:d/M/yyyy HH:mm:ss}", dt))
' "20.12.2009 20:04:08" - german (de-DE)
' date separator in german culture is "." (so "/" changes to ".")
Console.WriteLine(String.Format("{0:d/M/yyyy HH:mm:ss}", dt))
'**************************************************
' Here are some examples of custom date and time formatting:
'**************************************************
Console.WriteLine(vbCrLf)
Console.WriteLine("Here are some examples of custom date and time formatting:")
' month/day numbers without/with leading zeroes
' "12/20/2009"
Console.WriteLine(String.Format("{0:M/d/yyyy}", dt))
' "12/20/2009"
Console.WriteLine(String.Format("{0:MM/dd/yyyy}", dt))
' day/month names
' "Sun, Dec 20, 2009"
Console.WriteLine(String.Format("{0:ddd, MMM d, yyyy}", dt))
' "Sunday, December 20, 2009"
' two/four digit year
Console.WriteLine(String.Format("{0:dddd, MMMM d, yyyy}", dt))
' "12/20/09"
Console.WriteLine(String.Format("{0:MM/dd/yy}", dt))
' "12/20/2009"
Console.WriteLine(String.Format("{0:MM/dd/yyyy}", dt))
'**************************************************
' Standard DateTime Formatting
'**************************************************
Console.WriteLine(vbCrLf)
Console.WriteLine("Standard DateTime Formatting:")
'In DateTimeFormatInfo there are defined standard patterns for the current culture.
'For example, property ShortTimePattern is string that contains value h:mm tt for en-US culture
'and value HH:mm for de-DE culture.
'Following table shows patterns defined in DateTimeFormatInfo and their values for en-US culture.
'First column contains format specifiers for the String.Format method.
'Specifier DateTimeFormatInfo property Pattern value (for en-US culture)
't ShortTimePattern h:mm tt
'd ShortDatePattern M/d/yyyy
'T LongTimePattern h:mm:ss tt
'D LongDatePattern dddd, MMMM dd, yyyy
'f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt
'F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt
'g (combination of d and t) M/d/yyyy h:mm tt
'G (combination of d and T) M/d/yyyy h:mm:ss tt
'm, M MonthDayPattern MMMM dd
'y, Y YearMonthPattern MMMM, yyyy
'r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
's SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
'u UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
' (*) = culture independent
'Following examples show usage of standard format specifiers in String.Format method and the resulting output.
' "8:04 PM" ShortTime
Console.WriteLine(String.Format("{0:t}", dt))
' "12/20/2009" ShortDate
Console.WriteLine(String.Format("{0:d}", dt))
' "8:04:08 PM" LongTime
Console.WriteLine(String.Format("{0:T}", dt))
' "Sunday, December 20, 2009" LongDate
Console.WriteLine(String.Format("{0:D}", dt))
' "Sunday, December 20, 2009 8:04 PM" LongDate+ShortTime
Console.WriteLine(String.Format("{0:f}", dt))
' "Sunday, December 20, 2009 8:04:08 PM" FullDateTime
Console.WriteLine(String.Format("{0:F}", dt))
' "12/20/2009 8:04 PM" ShortDate+ShortTime
Console.WriteLine(String.Format("{0:g}", dt))
' "12/20/2009 8:04:08 PM" ShortDate+LongTime
Console.WriteLine(String.Format("{0:G}", dt))
' "December 20" MonthDay
Console.WriteLine(String.Format("{0:m}", dt))
' "December, 2009" YearMonth
Console.WriteLine(String.Format("{0:y}", dt))
' "Sun, 20 Dec 2009 20:04:08 GMT"
Console.WriteLine(String.Format("{0:r}", dt))
' "2009-12-20T20:04:08" SortableDateTime
Console.WriteLine(String.Format("{0:s}", dt))
' "2009-12-20 20:04:08Z" UniversalSortableDateTime
Console.WriteLine(String.Format("{0:u}", dt))
Console.ReadLine()
End Sub
End Class |
Public Class clsFormatDateTime
Public Sub Main()
'****************************************************************************************
' Purpose: Returns a string representing the datetime.
'
' Syntax: String.Format(datetime, formatspecifier)
'
' Parameter1: datetime - Required - datetime value to be formatted
'
' Parameter2: formatspecifier - required - format to be applied to date.
' Here are custom format specifiers y (year), M (month), d (day),
' h (hour 12), H (hour 24), m (minute), s (second),
' f (second fraction), F (second fraction, trailing zeroes are trimmed),
' t (P.M or A.M) and z (time zone).
'
' Result: string - Returns a string reperesenting the datetime.
'
' Quick Example: Dim dt As New DateTime(2009, 12, 20, 20, 4, 8, _
' 101)
' ' Ways to format year: "9 09 009 2009" year
' Console.WriteLine(String.Format("{0:y yy yyy yyyy}", dt))
' ' returns 9 09 009 2009
'
'**************************************************
' Custom DateTime Formatting
'**************************************************
Console.WriteLine("Custom DateTime Formatting:")
'Here are custom format specifiers y (year), M (month), d (day), h (hour 12), H (hour 24), m (minute), s (second),
' f (second fraction), F (second fraction, trailing zeroes are trimmed), t (P.M or A.M) and z (time zone).
'Following examples show how the format specifiers can be used.
' create date time 2009-12-21 20:04:08.101
Dim dt As New DateTime(2009, 12, 20, 20, 4, 8, _
101)
' Ways to format year: "9 09 009 2009" year
Console.WriteLine(String.Format("{0:y yy yyy yyyy}", dt))
' Ways to format month: "12 12 Dec December" month
Console.WriteLine(String.Format("{0:M MM MMM MMMM}", dt))
' Ways to format day: "21 21 Sun Sunday" day
Console.WriteLine(String.Format("{0:d dd ddd dddd}", dt))
' Ways to format hour: "8 08 20 20" hour 12/24
Console.WriteLine(String.Format("{0:h hh H HH}", dt))
' Ways to format minute: "4 04" minute
Console.WriteLine(String.Format("{0:m mm}", dt))
' Ways to format second: ' "8 08" second
Console.WriteLine(String.Format("{0:s ss}", dt))
' Ways to format fraction of second: "1 10 101 1010" sec.fraction
Console.WriteLine(String.Format("{0:f ff fff ffff}", dt))
' Ways to format fraction of second: "1 1 101 101" without zeros
Console.WriteLine(String.Format("{0:F FF FFF FFFF}", dt))
' How to display am or pm: "P PM" A.M. or P.M.
Console.WriteLine(String.Format("{0:t tt}", dt))
' How to display timezone: "-6 -06 -06:00" time zone
Console.WriteLine(String.Format("{0:z zz zzz}", dt))
'**************************************************
' Using date separator / (slash) and time sepatator : (colon).
'**************************************************
Console.WriteLine(vbCrLf)
Console.WriteLine("Using date separator / (slash) and time sepatator : (colon):")
'These characters will be rewritten to characters defined
'in the current DateTimeFormatInfo.DateSeparator and DateTimeFormatInfo.TimeSeparator.
' "20/12/09 20:04:08" - english (en-US)
Console.WriteLine(String.Format("{0:d/M/yyyy HH:mm:ss}", dt))
' "20.12.2009 20:04:08" - german (de-DE)
' date separator in german culture is "." (so "/" changes to ".")
Console.WriteLine(String.Format("{0:d/M/yyyy HH:mm:ss}", dt))
'**************************************************
' Here are some examples of custom date and time formatting:
'**************************************************
Console.WriteLine(vbCrLf)
Console.WriteLine("Here are some examples of custom date and time formatting:")
' month/day numbers without/with leading zeroes
' "12/20/2009"
Console.WriteLine(String.Format("{0:M/d/yyyy}", dt))
' "12/20/2009"
Console.WriteLine(String.Format("{0:MM/dd/yyyy}", dt))
' day/month names
' "Sun, Dec 20, 2009"
Console.WriteLine(String.Format("{0:ddd, MMM d, yyyy}", dt))
' "Sunday, December 20, 2009"
' two/four digit year
Console.WriteLine(String.Format("{0:dddd, MMMM d, yyyy}", dt))
' "12/20/09"
Console.WriteLine(String.Format("{0:MM/dd/yy}", dt))
' "12/20/2009"
Console.WriteLine(String.Format("{0:MM/dd/yyyy}", dt))
'**************************************************
' Standard DateTime Formatting
'**************************************************
Console.WriteLine(vbCrLf)
Console.WriteLine("Standard DateTime Formatting:")
'In DateTimeFormatInfo there are defined standard patterns for the current culture.
'For example, property ShortTimePattern is string that contains value h:mm tt for en-US culture
'and value HH:mm for de-DE culture.
'Following table shows patterns defined in DateTimeFormatInfo and their values for en-US culture.
'First column contains format specifiers for the String.Format method.
'Specifier DateTimeFormatInfo property Pattern value (for en-US culture)
't ShortTimePattern h:mm tt
'd ShortDatePattern M/d/yyyy
'T LongTimePattern h:mm:ss tt
'D LongDatePattern dddd, MMMM dd, yyyy
'f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt
'F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt
'g (combination of d and t) M/d/yyyy h:mm tt
'G (combination of d and T) M/d/yyyy h:mm:ss tt
'm, M MonthDayPattern MMMM dd
'y, Y YearMonthPattern MMMM, yyyy
'r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
's SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
'u UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
' (*) = culture independent
'Following examples show usage of standard format specifiers in String.Format method and the resulting output.
' "8:04 PM" ShortTime
Console.WriteLine(String.Format("{0:t}", dt))
' "12/20/2009" ShortDate
Console.WriteLine(String.Format("{0:d}", dt))
' "8:04:08 PM" LongTime
Console.WriteLine(String.Format("{0:T}", dt))
' "Sunday, December 20, 2009" LongDate
Console.WriteLine(String.Format("{0:D}", dt))
' "Sunday, December 20, 2009 8:04 PM" LongDate+ShortTime
Console.WriteLine(String.Format("{0:f}", dt))
' "Sunday, December 20, 2009 8:04:08 PM" FullDateTime
Console.WriteLine(String.Format("{0:F}", dt))
' "12/20/2009 8:04 PM" ShortDate+ShortTime
Console.WriteLine(String.Format("{0:g}", dt))
' "12/20/2009 8:04:08 PM" ShortDate+LongTime
Console.WriteLine(String.Format("{0:G}", dt))
' "December 20" MonthDay
Console.WriteLine(String.Format("{0:m}", dt))
' "December, 2009" YearMonth
Console.WriteLine(String.Format("{0:y}", dt))
' "Sun, 20 Dec 2009 20:04:08 GMT"
Console.WriteLine(String.Format("{0:r}", dt))
' "2009-12-20T20:04:08" SortableDateTime
Console.WriteLine(String.Format("{0:s}", dt))
' "2009-12-20 20:04:08Z" UniversalSortableDateTime
Console.WriteLine(String.Format("{0:u}", dt))
Console.ReadLine()
End Sub
End Class
Step 2: Click Visual Basic to Cut-n-paste code into Module1.vb
Module Module1
Sub Main()
Dim myclsFormatDateTime As New clsFormatDateTime
myclsFormatDateTime.Main()
End Sub
End Module |
Module Module1
Sub Main()
Dim myclsFormatDateTime As New clsFormatDateTime
myclsFormatDateTime.Main()
End Sub
End Module
Prerequistes:
- Install Visual Basic (Express or Standard Edition)
- Install SQL Server Express
- Download Northwind and pubs Database
- Attach Northwind Database to Databases in Sql Express
- Attach pubs Database to Databases in Sql Express
Notes:
- Console Application is used to simplify things, but Windows Forms or Web Forms could also be used
- You can build a library of syntax examples by using same project over and over and just commenting out what you do not want to execute in Module1.vb
Instructions:
- Use Visual Basic 2010 Express or Standard Edition
- Create new project;
- Click File/New Project
- Select Console Application Template
- Select Visual Basic for Language
- name of project could be VBNET_Syntax.
- Add New folder named “StringManipulation”
- Right-click project name in solution explorer;
- add new folder;
- name of folder could be: StringManipulation
- Add Class Named clsFormatDateTime to StringManipulation folder
- Right-click StringManipulation folder;
- add new item;
- Select class
- Class name could be clsFormatDateTime
- Click on Visual Basic in code in step 1 above to copy code into clsFormatDateTime.vb
- Click on Visual Basic in code in step 2 above to copy code into Module1.vb
- Click green arrow or press F5 to run program
|