Compartir a través de


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 para 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 Día, Mes, Año y Formato de imágenes con formato de 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 para la configuración regional. La aplicación puede establecer este parámetro en NULL 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 de 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 de lpDateStr si se ejecuta correctamente. Si el parámetro cchDate de 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.

Observaciones

Nota Esta API se está actualizando para admitir el cambio en 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 Preparar la aplicación para el cambio de la era japonesa para obtener más información.
 
Vea Los comentarios de GetDateFormatEx.

Cuando se usa la versión ANSI de esta función con un identificador de configuración regional de 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 un 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de datetimeapi.h
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

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

enumCalendarInfo de

EnumDateFormatsEx

GetCalendarInfo

GetDateFormatEx

GetLocaleInfo

GetTimeFormat

de compatibilidad con idiomas nacionales

funciones de compatibilidad con idiomas nacionales