# NLSFormatDate (W*S)

NLS Function: Returns a correctly formatted string containing the date for the current locale.

## Module

USE IFNLS

result = NLSFormatDate (outstr [, intime] [, flags])

outstr | (Output) Character*(*). String containing the correctly formatted date for the current locale. If outstr is longer than the formatted date, it is blank-padded.
intime | (Input; optional) INTEGER(4). If specified, date to be formatted for the current locale. Must be an integer date such as the packed time created with PACKTIMEQQ. If you omit intime, the current system date is formatted and returned in outstr.
flags | (Input; optional) INTEGER(4). If specified, modifies the date conversion. If you omit flags, the flag NLS$Normal is used. Available values (defined in `IFNLS.F90`) are: NLS$Normal - No special formatting NLS$NoUserOverride - Do not use user overrides NLS$UseAltCalendar - Use the locale's alternate calendar NLS$LongDate - Use local long date format NLS$ShortDate - Use local short date format

## Results

The result type is INTEGER(4). The result is the number of characters written to outstr (bytes are counted, not multibyte characters). If an error occurs, the result is one of the following negative values:

- NLS$ErrorInsufficentBuffer - outstr buffer is too small

- NLS$ErrorInvalidFlags - flags has an illegal value

- NLS$ErrorInvalidInput - intime has an illegal value

## Example

     USE IFNLS
     INTEGER(4) i
     CHARACTER(40) str
     i = NLSFORMATDATE(str, FLAGS=NLS$NORMAL)           ! 8/1/10
     i = NLSFORMATDATE(str, FLAGS=NLS$USEALTCALENDAR)   ! 8/1/10
     i = NLSFORMATDATE(str, FLAGS=NLS$LONGDATE)         ! Sunday, August 1, 2010
     i = NLSFORMATDATE(str, FLAGS=NLS$SHORTDATE)        ! 8/1/10
     END

Parent topic: National Language Support (NLS) Library Routines

## See Also

NLSFormatTime
NLSFormatCurrency
NLSFormatNumber