Función GetDateFormatA (datetimeapi.h)

Da formato a una fecha como una cadena de fecha para una configuración regional especificada por el identificador de configuración regional. La función da formato a una fecha especificada o a la fecha del sistema local.

Nota Por motivos de interoperabilidad, la aplicación debe preferir la función GetDateFormatEx a GetDateFormat porque Microsoft está migrando hacia el uso de nombres de configuración regional en lugar de identificadores de configuración regional para nuevas configuraciones regionales. Cualquier aplicación que se ejecute solo en Windows Vista y versiones posteriores debe usar GetDateFormatEx.

 

Sintaxis

int GetDateFormatA(
  [in]            LCID             Locale,
  [in]            DWORD            dwFlags,
  [in, optional]  const SYSTEMTIME *lpDate,
  [in, optional]  LPCSTR           lpFormat,
  [out, optional] LPSTR            lpDateStr,
  [in]            int              cchDate
);

Parámetros

[in] Locale

Identificador de configuración regional que especifica la configuración regional para la que esta función da formato a la cadena de fecha. Puede usar la macro MAKELCID para crear un identificador de configuración regional o usar uno de los siguientes valores predefinidos.

[in] dwFlags

Marcas que especifican opciones de formato de fecha. Para obtener definiciones detalladas, consulte el parámetro dwFlags de GetDateFormatEx.

[in, optional] lpDate

Puntero a una estructura SYSTEMTIME que contiene la información de fecha a la que se va a dar formato. La aplicación establece este parámetro en NULL si la función va a usar la fecha actual del sistema local.

[in, optional] lpFormat

Puntero a una cadena de imagen de formato que se usa para formar la fecha. Los valores posibles para la cadena de imagen de formato se definen en Imágenes de formato Day, Month, Year y Era.

La función usa la configuración regional especificada solo para la información no especificada en la cadena de imagen de formato, por ejemplo, los nombres de día y mes de la configuración regional. La aplicación puede establecer este parámetro en NULL para dar formato a la cadena según el formato de fecha de la configuración regional especificada.

[out, optional] lpDateStr

Puntero a un búfer en el que esta función recupera la cadena de fecha con formato.

[in] cchDate

Tamaño, en caracteres, del búfer lpDateStr . La aplicación puede establecer este parámetro en 0 para devolver el tamaño del búfer necesario para contener la cadena de fecha con formato. En este caso, no se usa el búfer indicado por lpDateStr .

Valor devuelto

Devuelve el número de caracteres escritos en el búfer lpDateStr si se ejecuta correctamente. Si el parámetro cchDate se establece en 0, la función devuelve el número de caracteres necesarios para contener la cadena de fecha con formato, incluido el carácter nulo de terminación.

La función devuelve 0 si no se realiza correctamente. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:

  • ERROR_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
  • ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
  • ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.

Comentarios

Nota Esta API se está actualizando para admitir el cambio de la era japonesa de mayo de 2019. Si la aplicación admite el calendario japonés, debe validar que controla correctamente la nueva era. Consulte Preparación de la aplicación para el cambio en la era japonesa para obtener más información.
 
Vea Comentarios para GetDateFormatEx.

Cuando la versión ANSI de esta función se usa con un identificador de configuración regional solo Unicode, la función puede realizarse correctamente porque el sistema operativo usa la página de códigos del sistema. Sin embargo, los caracteres que no están definidos en la página de códigos del sistema aparecen en la cadena como signo de interrogación ("?").

A partir de Windows 8: GetDateFormat se declara en Datetimeapi.h. Antes de Windows 8, se declaró en Winnls.h.

Nota:

El encabezado datetimeapi.h define GetDateFormat como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado datetimeapi.h
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Imágenes con formato día, mes, año y era

EnumCalendarInfo

EnumDateFormatsEx

GetCalendarInfo

GetDateFormatEx

GetLocaleInfo

GetTimeFormat

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con idiomas nacionales