Função SHFormatDateTimeW (shlwapi.h)

[SHFormatDateTime está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]

Produz uma representação de cadeia de caracteres de um tempo especificado como uma estrutura FILETIME .

Sintaxe

int SHFormatDateTimeW(
  [in]                const FILETIME *pft,
  [in, out, optional] DWORD          *pdwFlags,
  [out]               LPWSTR         pszBuf,
                      UINT           cchBuf
);

Parâmetros

[in] pft

Tipo: const FILETIME UNALIGNED*

Um ponteiro para a estrutura FILETIME cujo tempo deve ser convertido em uma cadeia de caracteres.

[in, out, optional] pdwFlags

Tipo: DWORD*

Um ponteiro para um valor DWORD que contém sinalizadores bit a bit que especificam o formato de data e hora.

Ao chamar a função, você pode combinar zero ou mais dos sinalizadores a seguir, com exceções conforme observado. Você também pode definir esse parâmetro como NULL; nesse caso, a função pressupõe que o sinalizador FDTF_DEFAULT está definido.

FDTF_SHORTTIME (0x00000001)

0x00000001. Formata a hora do dia conforme especificado pelo aplicativo Opções Regionais e de Idioma no Painel de Controle, mas sem segundos. Esse sinalizador não pode ser combinado com FDTF_LONGTIME.

O curto tempo foi formatado com êxito.

FDTF_SHORTDATE (0x00000002)

0x00000002. Formata a data conforme especificado pelo formato de data abreviada no aplicativo Opções Regionais e de Idioma no Painel de Controle. Esse sinalizador não pode ser combinado com FDTF_LONGDATE.

A data abreviada foi formatada com êxito.

FDTF_DEFAULT

Equivalente a FDTF_SHORTDATE | FDTF_SHORTTIME.

FDTF_LONGDATE (0x00000004)

0x00000004. Formata a data conforme especificado pelo formato de data longa no aplicativo Opções Regionais e de Idioma no Painel de Controle. Esse sinalizador não pode ser combinado com FDTF_SHORTDATE.

A data longa foi formatada com êxito.

FDTF_LONGTIME (0x00000008)

0x00000008. Formata a hora do dia conforme especificado pelo aplicativo Opções Regionais e de Idioma no Painel de Controle, incluindo segundos. Esse sinalizador não pode ser combinado com FDTF_SHORTTIME.

O longo tempo foi formatado com êxito.

FDTF_RELATIVE (0x00000010)

0x00000010. Se o sinalizador FDTF_LONGDATE estiver definido e a data na estrutura FILETIME for a mesma data em que SHFormatDateTime for chamado, o dia da semana (se presente) será alterado para "Hoje". Se a data na estrutura for o dia anterior, o dia da semana (se presente) será alterado para "Ontem".

A notação relativa foi usada para a data.

FDTF_LTRDATE (0x00000100)

0x00000100. Adiciona marcas para layout de leitura da esquerda para a direita. Esse sinalizador não pode ser combinado com FDTF_RTLDATE.

FDTF_RTLDATE (0x00000200)

0x00000200. Adiciona marcas para layout de leitura da direita para a esquerda. Esse sinalizador não pode ser combinado com FDTF_LTRDATE.

FDTF_NOAUTOREADINGORDER (0x00000400)

0x00000400. Nenhuma marca de ordem de leitura é inserida. Normalmente, na ausência do sinalizador FDTF_LTRDATE ou FDTF_RTLDATE, SHFormatDateTime determina a ordem de leitura da localidade padrão do usuário, insere marcas de ordem de leitura e atualiza o valor de saída pdwFlags adequadamente. Esse sinalizador impede que esse processo ocorra. Ele é usado com mais frequência por chamadores herdados de SHFormatDateTime. Esse sinalizador não pode ser combinado com FDTF_RTLDATE ou FDTF_LTRDATE.

Windows Server 2003 e Windows XP: Esse valor não está disponível.

Quando a função retorna, o valor DWORD apontado por esse parâmetro pode conter zero ou mais dos sinalizadores a seguir.

FDTF_SHORTTIME (0x00000001)

0x00000001. Formata a hora do dia conforme especificado pelo aplicativo Opções Regionais e de Idioma no Painel de Controle, mas sem segundos. Esse sinalizador não pode ser combinado com FDTF_LONGTIME.

O curto tempo foi formatado com êxito.

FDTF_SHORTDATE (0x00000002)

0x00000002. Formata a data conforme especificado pelo formato de data abreviada no aplicativo Opções Regionais e de Idioma no Painel de Controle. Esse sinalizador não pode ser combinado com FDTF_LONGDATE.

A data abreviada foi formatada com êxito.

FDTF_LONGDATE (0x00000004)

0x00000004. Formata a data conforme especificado pelo formato de data longa no aplicativo Opções Regionais e de Idioma no Painel de Controle. Esse sinalizador não pode ser combinado com FDTF_SHORTDATE.

A data longa foi formatada com êxito.

FDTF_LONGTIME (0x00000008)

0x00000008. Formata a hora do dia conforme especificado pelo aplicativo Opções Regionais e de Idioma no Painel de Controle, incluindo segundos. Esse sinalizador não pode ser combinado com FDTF_SHORTTIME.

O longo tempo foi formatado com êxito.

FDTF_RELATIVE (0x00000010)

0x00000010. Se o sinalizador FDTF_LONGDATE estiver definido e a data na estrutura FILETIME for a mesma data em que SHFormatDateTime for chamado, o dia da semana (se presente) será alterado para "Hoje". Se a data na estrutura for o dia anterior, o dia da semana (se presente) será alterado para "Ontem".

A notação relativa foi usada para a data.

[out] pszBuf

Tipo: LPTSTR

Um ponteiro para um buffer que recebe a data e hora formatadas. O buffer deve ser grande o suficiente para conter o número de caracteres TCHAR especificados pelo parâmetro cchBuf , incluindo um caractere nulo de terminação.

cchBuf

Tipo: UINT

O número de TCHARs que podem ser contidos pelo buffer apontado por pszBuf.

Retornar valor

Tipo: int

Retorna o número de TCHARs gravados no buffer, incluindo o caractere nulo de terminação. Em caso de falha, esse valor é 0.

Comentários

Observação

O cabeçalho shlwapi.h define SHFormatDateTime 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. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlwapi.h
Biblioteca Shlwapi.lib
DLL Shlwapi.dll (versão 5.0 ou posterior)

Confira também

Getdateformat

Gettimeformat