Strings.FormatDateTime Method

Returns a string expression representing a date/time value.

Namespace: Microsoft.VisualBasic
Assembly: Microsoft.VisualBasic (in microsoft.visualbasic.dll)

public static string FormatDateTime (
	DateTime Expression,
	[OptionalAttribute] DateFormat NamedFormat
public static String FormatDateTime (
	DateTime Expression, 
	/** @attribute OptionalAttribute() */ DateFormat NamedFormat
public static function FormatDateTime (
	Expression : DateTime, 
	NamedFormat : DateFormat
) : String
Not applicable.



Required. Date expression to be formatted.


Optional. Numeric value that indicates the date/time format used. If omitted, DateFormat.GeneralDate is used.

Return Value

Returns a string expression representing a date/time value.

For more detailed information, see the Visual Basic topic FormatDateTime Function (Visual Basic).

The Date data type always contains both date and time information. For purposes of type conversion, Visual Basic considers 1/1/1 (January 1 of the year 1) to be a neutral value for the date, and 00:00:00 (midnight) to be a neutral value for the time. If you format a Date value as a date/time string, FormatDateTime does not include neutral values in the resulting string. For example, if you convert #1/1/0001 9:30:00# to a string, the result is "9:30:00 AM"; the date information is suppressed. However, the date information is still present in the original Date value and can be recovered with functions such as DatePart.


If you pass the Expression argument as a String literal, FormatDateTime interprets it according to the CurrentCulture setting of your application. However, if you pass it as a Date literal, use the format #mm/dd/yyyy#, because FormatDateTime always interprets a Date literal according to the English (US) culture. This is necessary because, if an application is developed and coded using Date literals from one culture, but is then executed on a platform with a different culture, the Date literals could be parsed incorrectly.

The NamedFormat argument has the following settings.




Display a date and/or time. Display a date part as a short date. If there is a time part, display it as a long time. If present, both parts display.


Display a date using the long date format specified in your computer's regional settings.


Display a date using the short date format specified in your computer's regional settings.


Display a time using the time format specified in your computer's regional settings.


Display a time using the 24-hour format (hh:mm).

This example demonstrates the use of the FormatDateTime function.

' English (US) format.
Dim TestDate As DateTime = #3/12/1999#

' FormatDateTime returns "Friday, March 12, 1999".
' The time information is neutral (00:00:00) and therefore suppressed.
Dim TestString As String = FormatDateTime(TestDate, DateFormat.LongDate)

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0