terça-feira, 20 de setembro de 2011

Como formatar datas, tempos e números do jeito que você precisa

Para alterar os formatos de data, tempo e número utilizamos a função “Format”.

A sintaxe da função é: Format(Byval Expressão as Object, Optional Byval Estilo as String = “”) e retorna uma string.

Expressão é a informação que você quer mudar de formato.
Estilo é o tipo de estilo que será a informação e formatos pré-definidos e formatos que você pode definir combinando-os conforme a necessidade. Todos os estilos devem ser colocados entre aspas.

1 – Formatos Pré-definidos

1.1 – Datas e tempos

General Date ou G Format(#1/1/2011 11:11:11 AM#, “G”) = “1/1/2011 11:11:11”
Format(#1/1/2011 11:11:11 PM#, “G”) = “1/1/2011 23:11:11”
Long Date, Medium Date, ou D Format(#1/1/2011 11:11:11 AM#, “Long Date”) = “sábado, 1 de janeiro de 2011”
Short Date ou d Format(#1/1/2011 11:11:11 AM#, “Short Date”) = “01/01/2011”
Long Time, Medium Time ou T Format(#1/1/2011 11:11:11 AM#, “T”) = “11:11:11”
Format(#1/1/2011 11:11:11 PM#, “T”) = “23:11:11”
Short Time ou t Format(#1/1/2011 11:11:11 AM#, “t”) = “11:11”
Format(#1/1/2011 11:11:11 PM#, “t”) = “23:11”
F Format(#1/1/2011 11:11:11 AM#, “F”) = “sábado, 1 de janeiro de 2011 11:11:11”
Format(#1/1/2011 11:11:11 PM#, “F”) = “sábado, 1 de janeiro de 2011 23:11:11”
f Format(#1/1/2011 11:11:11 AM#, “f”) = “sábado, 1 de janeiro de 2011 11:11”
Format(#1/1/2011 11:11:11 PM#, “f”) = “sábado, 1 de janeiro de 2011 23:11”
g Format(#1/1/2011 11:11:11 AM#, “g”) = “01/01/2011 11:11”
Format(#1/1/2011 11:11:11 PM#, “g”) = “01/01/2011 23:11”
M, m Format(#1/1/2011 11:11:11 AM#, “M”) = “01 de janeiro”
R, r Format(#1/1/2011 11:11:11 AM#, “R”) = “Sat, 01 Jan 2011 11:11:11 GMT”
Format(#1/1/2011 11:11:11 PM#, “r”) = “Sat, 01 Jan 2011 23:11:11 GMT”
s Format(#1/1/2011 11:11:11 AM#, “s”) = “2011-01-01T11:11:11”
Format(#1/1/2011 11:11:11 PM#, “s”) = “2011-01-01T23:11:11”
u Format(#1/1/2011 11:11:11 AM#, “u”) = “2011-01-01 11:11:11Z”
Format(#1/1/2011 11:11:11 PM#, “u”) = “2011-01-01 23:11:11Z”
U Format(#1/1/2011 11:11:11 AM#, “U”) = “sábado, 1 de janeiro de 2011 13:11:11”
Format(#1/1/2011 11:11:11 PM#, “U”) = “domingo, 2 de janeiro de 2011 01:11:11”
Y, y Format(#1/1/2011 11:11:11 AM#, “Y”) = “janeiro de 2011”

1.2 - Numérico

General Number, G ou g Converte o número em um modo compacto e com quantos algarismos significativos.
Format(12345.6789, “G”) = “12345,6789”
Format(12345.6789, “G4”) = “1,235E+04”
Format(12345.6789, “G7”) = “12345,7”
Currency, C ou c Converte o número em unidade monetária e com quantos algarismos após a vírgula arredondando o valor.
Format(12345.6789, “C”) = “R$ 12.345,68”
Format(12345.6789, “C0”) = “R$ 12.346”
Format(12345.6789, “C6”) = “R$ 12.345,678900”
Fixed, F ou f Especifica o número de casas decimais arredondando o valor.
Format(12345.6789, “F”) = “12345,68”
Format(12345.6789, “F0”) = “12346”
Format(12345.6789, “F5”) = “12345,67890”
Standard, N ou n Converte o número para o modo com separadores de milhares e decimais especificando o número de casas decimais arredondando o valor.
Format(12345.6789, “N”) = “12.345,68”
Format(12345.6789, “N0”) = “12.346”
Format(12345.6789, “N5”) = “12.345,67890”
Percent Multiplica o número por 100 e com o símbolo %
Format(12345.6789, “Percent”) = “1234567,89%
P ou p Multiplica o número por 100 e com o símbolo % e com quantos algarismos após a vírgula arredondando o valor.
Format(12345.6789, “P”) = “1.234.567,89%”
Format(12345.6789, “P0”) = “1.234.568%
Format(12345.6789, “P”) = “1.234.567,89000%”
Scientific Converte o número em notação científica com 3 algarismos significativos.
Format(12345.6789, “Scientific”) = “1,23E+04”
E ou e Converte o número em notação científica e com quantos algarismos após a vírgula arredondando o valor.
Format(12345.6789, “E”) = “1,234568E+004”
Format(12345.6789, “E0”) = “1E+004”
Format(12345.6789, “E5”) = “1,23457E+004”
Format(12345.6789, “e”) = “1,234568e+004”
Format(12345.6789, “e0”) = “1e+004”
Format(12345.6789, “e5”) = “1,23457e+004”
D ou d Converte o número para a base Decimal e com quantos algarismos o número será retornado. Válido apenas para números inteiros.
Format(123456789, “D11”) = “00123456789”
X ou x Converte o número para a base Hexadecimal
Format(123456789, “X”) = “75BCD15”
Format(123456789, “x”) = “75bcd15”
Yes/No Format(0, “Yes/No”) = “Não” Format(2, “Yes/No”) = “Sim”
True/False Format(0, “True/False”) = “False”
Format(2, “True/False”) = “True”
On/Off Format(0, “On/Off”) = “Desativar”
Format(2, “On/Off”) = “Ativar”

2 – Formatos definidos pelo usuário
Combine os códigos abaixo para obter os valores no formato desejado

2.1 - Datas e tempos
Observação: quando escrevemos as datas no código VB, o mês é antes do dia, segue o padrão inglês.

: Separador de tempo utilizado para separar horas, minutos e segundos.
/ de data utilizado para separar dia, mês e ano.
d Mostra o dia como número sem o primeiro zero
Format(#1/2/2003 12:34:56 AM#, "d/M") = "2/1".
dd Mostra o dia como número com o primeiro zero
Format(#1/2/2003 12:34:56 AM#, "dd") = "02".
ddd Mostra a abreviatura do dia.
Format(#1/2/2003 12:34:56 AM#, "ddd") = "qui"
dddd Mostra o nome inteiro do dia.
Format(#1/2/2003 12:34:56 AM#, "dddd") = "quinta-feira"
M Mostra o mês como um número sem o primeiro zero.
Format(#1/2/2003 12:34:56 AM#, "d/M") = "1"
MM Mostra o mês como um número com o primeiro zero.
Format(#1/2/2003 12:34:56 AM#, "MM") = "01"
MMM Mostra a abreviatura do mês.
Format(#1/2/2003 12:34:56 AM#, "MMM") = "jan"
MMMM Mostra o nome do mês
Format(#1/2/2003 12:34:56 AM#, "MMMM") = "janeiro"
y Mostra o ano como um número sem o zeros se for entre 0 e 9.
Format(#1/2/2003 12:34:56 AM#, "M/y") = "1/3"
yy Mostra o ano como um número de dois dígitos com o zero quando aplicável.
Format(#1/2/2003 12:34:56 AM#, "yy") = "03"
yyy Mostra o ano como um número de quatro dígitos.
Format(#1/2/2003 12:34:56 AM#, "yyy") = "2003"
yyyy Mostra o ano como um número de quatro dígitos.
Format(#1/2/2003 12:34:56 AM#, "yyyy") = "2003"
gg Mostra a era da data.
Format(#1/2/2003 12:34:56 AM#, "gg") = "d.C."
h Mostra a hora como um número sem o primeiro zero utilizando o formato de 12 horas.
Format(#1/2/2003 12:34:56 AM#, "h:m") = "12:34"
Format(#1/2/2003 12:34:56 PM#, "h:m") = "12:34"
hh Mostra a hora como um número sem o primeiro zero utilizando o formato de 12 horas.
Format(#1/2/2003 12:34:56 AM#, "hh") = "12"
Format(#1/2/2003 12:34:56 PM#, "hh") = "12"
H Mostra a hora como um número sem o primeiro zero utilizando o formato de 24 horas.
Format(#1/2/2003 12:34:56 AM#, "H:m") = "0:34"
Format(#1/2/2003 12:34:56 PM#, "H:m") = "12:34"
HH Mostra a hora como um número com o primeiro zero utilizando o formato de 24 horas.
Format(#1/2/2003 12:34:56 AM#, "HH") = "00"
Format(#1/2/2003 12:34:56 PM#, "HH") = "12"
m Mostra o minuto como um número sem o primeiro zero.
Format(#1/2/2003 12:04:56 AM#, "h:m") = "12:4"
mm Mostra o minuto como um número sem o primeiro zero.
Format(#1/2/2003 12:04:56 AM#, "mm") = "04"
s Mostra o segundo como um número sem o primeiro zero.
Format(#1/2/2003 12:34:06 AM#, "m:s") = "6"
ss Mostra o segundo como um número sem o primeiro zero.
Format(#1/2/2003 12:34:06 AM#, "ss") = "06"
f Mostra a fração de segundos.
Format(Now, "ff") = 89 'Centésimos de segundos
Format(Now, "fffffff") = 6599721 'Décimos de milionésimos de segundo (Máximo)
t Mostra a hora e os minutos em formato 24 horas
Format(#1/2/2003 12:34:56 AM#, "t") = "0:34"
Format(#1/2/2003 12:34:56 PM#, "t") = "12:34"
zz Mostra o fuso horário em formato simples.
Format(Now, "zz") = "-03" 'Fuso de Brasília
zzz Mostra o fuso horário em formato longo.
Format(Now, "zzz") = "-03:00" 'Fuso de Brasília

2.2 - Números

. Separador de decimais.
, Separador de milhar.
0 Se a expressão tiver um dígito na posição onde o 0 aparece na seqüência de formato, exibi-lo, caso contrário, exibe um zero nessa posição.
Format(2, “00”) = “02”
Format(2, “0.00”) = “2,00”
Format(2, “0,000”) = “0.002”
# Se a expressão tiver um dígito na posição onde o # aparece na seqüência de formato, exibi-lo, caso contrário,não exibe nada.
Format(2, “##”) = “2”
Format(2, “#.#”) = “2”
Format(2, “#,###”) = “2”
% Caractere de porcentagem. Multiplica a expressão por 100 e adiciona o caractere %.
Format(2, “0%”) = “200%”
Format(2, “0.0%”) = “200,0%”
Format(2, “0,000%”) = “0.200%”
E+, E-, e+, e- Formato científico. Deve-se usar 0 ou # à direita para exibir os expoentes.
Format(2, “#E+0”) = “2E+0”
Format(0.002, “00E+00”) = “20E-04”
Format(0.002, “00E-00”) = “20E-04”
- + $ ( ) Caracteres literais. São exibidos na sequência que estão na formatação.
Format(2, “R$ 00”) = R$ 02
Format(2, “R$ 0.00”) = “R$ 2,00”
; Divide a formatação entre formato para números positivos e formato para números negativos.
Format(2, “0;0-”) = 2
Format(-2, “0;0-”) = “2-”
Format(-2, “0;(0)” ) = “(2)”
\ Exibe o próximo caractere na sequência do formato ocultando a própria \. Em alguns casos onde se deseja utilizar caracteres que já são específicos para a formatação de datas e tempos pode gerar erro, então utiliza-se a \. Exemplos de caracteres que não podem ser utilizados como literais: caracteres para formatação de data e tempo (a, c, d, h, m, n, p, q, s, t, w, y, /, e :), caracteres para formatação de números (#, 0, %, E, e, vírgula e ponto) e caracteres para formatação de strings (@, &, <, > e !).
Format(2, “d0”) = Erro
Format(2, “\d0”) = “d2”
Format(2, “t00” ) = Erro
Format(2, “\t00”) = "t02”

Agora é só montar a sua formatação.

Simples, não?

Nenhum comentário:

Postar um comentário