System.TDateTime.FormatString

From RAD Studio API Documentation
Jump to: navigation, search

C++

System::String FormatString(const System::String& format) const;

Properties

Type Visibility Source Unit Parent
function public systdate.h System TDateTime

Description

Formats the TDateTime object using the format given by format.

The following format specifiers are supported.


Specifier Displays
c Displays the date using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the fractional part of the DateTime value is zero.
d Displays the day as a number without a leading zero (1-31).
dd Displays the day as a number with a leading zero (01-31).
ddd Displays the day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable.
dddd Displays the day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable.
ddddd Displays the date using the format given by the ShortDateFormat global variable.
dddddd Displays the date using the format given by the LongDateFormat global variable.
m Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mm Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mmm Displays the month as an abbreviation (Jan-Dec) using the strings given by the ShortMonthNames global variable.
mmmm Displays the month as a full name (January-December) using the strings given by the LongMonthNames global variable.
yy Displays the year as a two-digit number (00-99).
yyyy Displays the year as a four-digit number (0000-9999).
h Displays the hour without a leading zero (0-23).
hh Displays the hour with a leading zero (00-23).
n Displays the minute without a leading zero (0-59).
nn Displays the minute with a leading zero (00-59).
s Displays the second without a leading zero (0-59).
ss Displays the second with a leading zero (00-59).
zzz Displays the milliseconds (000-999).
t Displays the time using the format given by the ShortTimeFormat global variable.
tt Displays the time using the format given by the LongTimeFormat global variable.
am/pm Uses the 12-hour time for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The A.M./P.M. specifier can use lowercase, uppercase, or mixed case, and the result is displayed accordingly.
a/p Uses the 12-hour time for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lowercase, uppercase, or mixed case, and the result is displayed accordingly.
ampm Uses the 12-hour time for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon.
/ Displays the date separator character given by the DateSeparator global variable.
: Displays the time separator character given by the TimeSeparator global variable.
'xx'/"xx" Characters enclosed in single or double quotation marks are displayed as-is, and do not affect formatting.


If the string given by the format parameter is empty, the TDateTime value is formatted as if a c format specifier had been given.

Code Example

#include <tchar.h>
#include <stdio.h>
#include <System.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
        //Initialize a new instance of TDateTime with the current time.
	TDateTime* myTime = new TDateTime(Now());
	String S = "The current date is: " + myTime->FormatString("dddd mmmm d, yyyy\n") +  "The current time is: " +  myTime->FormatString("hh:mm:zz AM/PM");
	printf("%ls\n", S.c_str()); 
        /* ShowMessage(S); // FireMonkey, VCL applications and Unicode characters */
	return 0;
}

Sample output

 The current date is: Wednesday October 9, 2013
 The current time is: 02:09:511 PM

See Also