Você pode utilizar uma cadeia de letras de padrão para especificar o formato de data/hora.
Ao converter uma data ou hora para uma cadeia, deve-se aplicar um padrão de formato que direcione a conversão. Aplique o padrão de formato para converter uma data ou hora para uma cadeia ou para analisar uma cadeia para uma data ou hora.
Durante a conversão (por exemplo, de um dateTime para uma cadeia), um padrão ou um conjunto de tokens é substituído pela origem equivalente. O diagrama a seguir mostra como um padrão é utilizado para formatar uma origem dateTime para produzir uma saída de cadeia de caracteres.
Quando uma cadeia é analisada (por exemplo, ao converter a cadeia para uma data/hora), o padrão ou conjunto de tokens é utilizado para determinar qual parte da data/hora de destino é representada por qual parte da cadeia. O diagrama a seguir mostra como isso é feito.
O padrão da expressão é definido por:
A tabela a seguir lista os caracteres que podem ser utilizados em um padrão para formatar ou analisar cadeias em relação a um dateTime. A tabela é seguida por algumas notas que explicam mais sobre alguns dos exemplos na tabela.
Símbolo | Significado | Apresentação | Exemplos |
---|---|---|---|
a | marcador am ou pm | Texto | Entrada am, AM, pm, PM. Saída AM ou PM |
d | dia do mês (1-31) | Número | 1, 20 |
dd | dia do mês (01-31) | Número | 01, 31 |
D | dia do ano (1-366) | Número | 3, 80, 100 |
DD | dia do ano (01-366) | Número | 03, 80, 366 |
DDD | dia do ano (001-366) | Número | 003 |
e | dia na semana (1-7)1 | Número | 2 |
EEE | dia na semana1 | Texto | Ter |
EEEE | dia na semana1 | Texto | Terça-feira |
F | dia da semana no mês (1-5)2 | Número | 2 |
G | Era | Texto | BC ou AD |
h | hora em am ou pm (1-12) | Número | 6 |
hh | hora em am ou pm (01-12) | Número | 06 |
I | hora do dia no formato de 24 horas (0-23)3 | Número | 7 |
HH | hora do dia no formato de 24 horas (00-23)3 | Número | 07 |
I | Data/Hora ISO8601 (até yyyy-MM-dd'T'HH:mm:ss. SSSZZZ)4 | Texto | 2006-10-07T12:06:56.568+01:00 |
IU | Data/Hora ISO8601 (semelhante a I, mas ZZZ com saída "Z" se o fuso horário for +00:00)4 | Texto | 2006-10-07T12:06:56.568+01:00, 2003-12 -15T15:42:12.000Z |
k | hora do dia no formato de 24 horas (1-24)3 | Número | 8 |
k | hora do dia no formato de 24 horas (01-24)3 | Número | 08 |
K | hora em am ou pm (0-11) | Número | 9 |
KK | hora em am ou pm (00-11) | Número | 09 |
m | minute | Número | 4 |
mm | minute | Número | 04 |
M | mês numérico | Número | 5, 12 |
MM | mês numérico | Número | 05, 12 |
MMM | mês denominado | Texto | Jan, Fev |
MMMM | mês denominado | Texto | Janeiro, Fevereiro |
s | segundos | Número | 5 |
ss | segundos | Número | 05 |
S | décimo de segundo5 | Número | 7 |
SS | centésimo de segundo5 | Número | 70 |
SSS | milissegundo5 | Número | 700 |
SSSS | 0,0001 segundo5 | Número | 7000 |
SSSSS | 0,00001 segundo5 | Número | 70000 |
SSSSSS | 0,000001 segundo5 | Número | 700000 |
E | Hora ISO8601 (até HH:mm:ss.SSSZZZ)4 | Texto | 12:06:56.568+01:00 |
TU | Hora ISO8601 (semelhante a T, mas um fuso horário igual a +00:00 é substituído por 'Z')4 | Texto | 12:06:56.568+01:00, 15:42:12.000Z |
w | semana no ano6 | Número | 7, 53 |
ww | semana no ano6 | Número | 07, 53 |
W | semana no mês7 | Número | 2 |
yy | ano8 | Número | 06 |
yyyy | ano8 | Número | 2006 |
YY | ano: utilizar apenas com semana no ano6 | Número | 06 |
YYYY | ano: utilizar apenas com semana no ano6 | Número | 2006 |
zzz | fuso horário (nome abreviado) | Texto | GMT |
zzzz | fuso horário (nome completo) | Texto | Hora de Greenwich |
Z | fuso horário (+/-n) | Texto | +3 |
ZZ | fuso horário (+/-nn) | Texto | +03 |
ZZZ | fuso horário (+/-nn:nn) | Texto | +03:00 |
ZZZU | fuso horário (como ZZZ, "+00:00" é substituído por "Z") | Texto | +03:00, Z |
ZZZZ | fuso horário (GMT+/-nn:nn) | Texto | GMT+03:00 |
ZZZZZ | fuso horário (como ZZZ, mas sem dois pontos) (+/-nnnn) | Texto | +0300 |
' | escape para texto | 'Texto do usuário' | |
" | (duas aspas únicas) aspa única dentro do texto com escape | 'o"clock' |
A apresentação do objeto dateTime depende dos símbolos especificados.
Se você utilizar o símbolo y minúsculo, o ajuste não será feito e poderão ocorrer resultados imprevisíveis para datas próximas ao final do ano. Por exemplo, se a cadeia Segunda-feira 01 2002 estiver formatada:
Utilize Y somente junto com w. Se você especificar Y sem w, o ano será ignorado. Por exemplo, se você especificar YYYY-MM-dd para o formato 1996-03-01, o resultado será 2006-03-01, porque a entrada do ano será ignorada e o ano atual será assumido.
Se os valores de dateTime estiverem em conformidade com o padrão ISO8601:2000 de 'Representação de Datas e Horas', considere a utilização dos símbolos de formatação I e T, que correspondem ao subconjunto do padrão ISO8601 a seguir.
Utilize os símbolos de formatação I e T apenas sozinhos:
A tabela a seguir mostra como o formulário de saída está relacionado ao tipo de dados lógicos.
Tipo de dados de modelo lógico | tipo de dados ESQL | Formato de Saída |
---|---|---|
xsd:dateTime | TIMESTAMP ou GMTTIMESTAMP | yyyy-MM-dd'T'HH:mm:ss.SSSZZZ |
xsd:date | DATE | yyyy-MM-dd |
xsd:gYear | INTERVAL | yyyy |
xsd:gYearMonth | INTERVAL | yyyy-MM |
xsd:gMonth | INTERVAL | --MM |
xsd:gmonthDay | INTERVAL | --MM-dd |
xsd:gDay | INTERVAL | ---dd |
xsd:time | TIME / GMTTIME | 'T'HH:mm:ss.SSSZZZ |
Um elemento ou atributo de tipo lógico xsd:dateTime ou xsd:time que contém uma data/hora como uma cadeia pode especificar UTC (Coordinated Universal Time) utilizando o símbolo Z ou o fuso horário +00:00. Na entrada, o analisador MRM lembra o formato UTC de tais elementos e atributos. Na saída, você pode especificar se Z ou +00:00 é exibido utilizando a propriedade Formato de Data/Hora Padrão do elemento ou atributo. Alternativamente, você pode preservar o formato UTC de entrada selecionando a propriedade do conjunto de mensagens Utilizar formato UTC de entrada na saída. Se esta propriedade for selecionada, o formato de UTC será preservado na mensagem de saída e substituirá o formato que é inferido pela propriedade de formato de data/hora.
A tabela a seguir mostra alguns exemplos de formatos dateTime.
Padrão de formato | Resultado |
---|---|
"yyyy.MM.dd 'at' HH:mm:ss ZZZ" | 2006.07.10 às 15:08:56 -05:00 |
"EEE, MMM d, "yy" | Qua, 10 julho, '06 |
"h:mm a" | 8:08 h |
"hh o"clock a, ZZZZ" | 09:00 h, GMT+09:00 |
"K:mm a, ZZZ" | 9:34 AM, -05:00 |
"yyyy.MMMMM.dd hh:mm aaa" | 1996.julho.10 12:08 h |