FormatDate Function

Action

Converts a date into the specified format.

Include file

Kernel.bdh

Syntax

FormatDate( in nDate      :number,
            in sFormat    : string,
            in bLocalized : boolean optional) : string;

Return value

formatted date string

Parameter Description
nDate Integer input date with format YYYYMMDD, for example, 19980501 (May 1, 1998)
sFormat

Format control string. Possible format characters for date formatting:

  • %a. Abbreviated weekday name

  • %A. Full weekday name

  • %b. Abbreviated month name

  • %B. Full month name

  • %c. Locally appropriate date and time representation

  • %d. Day of month as decimal number (01 - 31)

  • %H. Hour in 24-hour format (00 - 23)

  • %I. Hour in 12-hour format (01 - 12)

  • %j. Day of year as decimal number (001 - 366)

  • %m. Month as decimal number (01 - 12)

  • %M. Minute as decimal number (00 - 59)

  • %p. Current locale’s A.M./P.M. indicator for 12-hour clock

  • %S. Second as decimal number (00 - 59)

  • %U. Week of year as decimal number, with Sunday as first day of week (00 - 51)

  • %w. Weekday as decimal number (0 - 6; Sunday is 0)

  • %W. Week of year as decimal number, with Monday as first day of week (00 - 51)

  • %x. Date representation for current locale

  • %X. Time representation for current locale

  • %y. Year without century, as decimal number (00 - 99)

  • %Y. Year with century, as decimal number

  • %z, %Z. Time-zone name or abbreviation; no characters if time zone is unknown

Default format strings:

  • DATE_YYYY_MM_DD = "%Y-%m-%d"

  • DATE_DEFAULT = "%x"

  • DATE_ODBC = "{d '%Y-%m-%d' }"

  • TIMESTAMP_ODBC = "{ts '%Y-%m-%d %H:%M:%S' }"

bLocalized If True, returns the localized date format (optional).

Example

dcltrans 
  transaction TFormatDate 
  var 
    nDate : number;
    sDate : string; 
    sWeekday : string;
  begin 
    nDate := GetCurrentDate();
    sDate := FormatDate(nDate, "%m/%d/%Y");
    sWeekday := FormatDate(nDate, "%A");
    print("Current Date: " + sDate); 
    print("Today is " + sWeekday);
  end TFormatDate;

Output

Current Date: 08/27/2012
Today is Monday