Compartilhar via


Função GetDateFormatA (datetimeapi.h)

Formata uma data como uma cadeia de caracteres de data para uma localidade especificada pelo identificador de localidade. A função formata uma data especificada ou a data do sistema local.

Observação Por motivos de interoperabilidade, o aplicativo deve preferir a função GetDateFormatExGetDateFormat porque a Microsoft está migrando para o uso de nomes de localidade em vez de identificadores de localidade para novas localidades. Qualquer aplicativo que será executado somente no Windows Vista e posterior deve usar GetDateFormatEx.

 

Sintaxe

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 localidade que especifica a localidade para a qual essa função formata a cadeia de caracteres de data. Você pode usar a macro MAKELCID para criar um identificador de localidade ou usar um dos seguintes valores predefinidos.

[in] dwFlags

Sinalizadores especificando opções de formato de data. Para obter definições detalhadas, consulte o parâmetro dwFlags de GetDateFormatEx.

[in, optional] lpDate

Ponteiro para uma estrutura SYSTEMTIME que contém as informações de data a serem formatadas. O aplicativo define esse parâmetro como NULL se a função deve usar a data atual do sistema local.

[in, optional] lpFormat

Ponteiro para uma cadeia de caracteres de imagem de formato que é usada para formar a data. Os valores possíveis para a cadeia de caracteres de imagem de formato são definidos no Day, Month, Year e Era Format Pictures.

A função usa a localidade especificada apenas para informações não especificadas na cadeia de caracteres de imagem de formato, por exemplo, os nomes de dia e mês da localidade. O aplicativo pode definir esse parâmetro como NULL para formatar a cadeia de caracteres de acordo com o formato de data da localidade especificada.

[out, optional] lpDateStr

Ponteiro para um buffer no qual essa função recupera a cadeia de caracteres de data formatada.

[in] cchDate

Tamanho, em caracteres, do buffer de lpDateStr. O aplicativo pode definir esse parâmetro como 0 para retornar o tamanho do buffer necessário para manter a cadeia de caracteres de data formatada. Nesse caso, o buffer indicado por lpDateStr não é usado.

Valor de retorno

Retorna o número de caracteres gravados no buffer lpDateStr, se bem-sucedido. Se o parâmetro cchDate for definido como 0, a função retornará o número de caracteres necessários para manter a cadeia de caracteres de data formatada, incluindo o caractere nulo de terminação.

A função retornará 0 se não for bem-sucedida. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_INSUFFICIENT_BUFFER. Um tamanho de buffer fornecido não era grande o suficiente ou foi definido incorretamente como NULL.
  • ERROR_INVALID_FLAGS. Os valores fornecidos para sinalizadores não eram válidos.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Observações

Observação esta API está sendo atualizada para dar suporte à alteração da era japonesa de maio de 2019. Se o aplicativo der suporte ao calendário japonês, você deverá validar que ele lida corretamente com a nova era. Consulte Preparar seu aplicativo para a de alteração da era japonesa para obter mais informações.
 
Consulte Comentários para GetDateFormatEx .

Quando a versão ANSI dessa função é usada com um identificador de localidade somente Unicode, a função pode ser bem-sucedida porque o sistema operacional usa a página de código do sistema. No entanto, caracteres que são indefinidos na página de código do sistema aparecem na cadeia de caracteres como um ponto de interrogação ("?").

começando com o Windows 8: GetDateFormat é declarado em Datetimeapi.h. Antes do Windows 8, ele foi declarado em Winnls.h.

Nota

O cabeçalho datetimeapi.h define GetDateFormat como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho datetimeapi.h
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

Imagens de formato dia, mês, ano e era

EnumCalendarInfo

EnumDateFormatsEx

GetCalendarInfo

GetDateFormatEx

GetLocaleInfo

GetTimeFormat

de Suporte à Linguagem Nacional

funções de suporte à linguagem nacional