Esta sección ofrece información sobre cómo puede especificar el formato de fecha y hora utilizando una serie de caracteres de letras de patrón.
Cuando convierte una fecha u hora a una serie, se puede aplicar un patrón de formato que dirija la conversión. Esto se aplica si se da formato de una fecha o una hora a una serie o se analiza una serie como una fecha u hora.
Durante el formato (por ejemplo, de una fecha y hora a una serie de caracteres) se sustituye un patrón o un conjunto de símbolos por su origen equivalente. La Figura 1 ofrece una representación de cómo se aplica esto.
Cuando se analiza una serie (por ejemplo para convertirla en una fecha y hora), se utiliza el patrón o el conjunto de símbolos para determinar qué parte de la fecha y hora de destino queda representada por qué parte de la serie de caracteres. La Figura 2 proporciona una representación de cómo se aplica esto.
El patrón de la expresión se define mediante:
.--------------.
| .- -. |
V V | |
>------+-símbolo-+->
'-serie de caracteres-'
La tabla siguiente lista los caracteres permitidos que se pueden utilizar en un patrón para dar formato o para analizar series de caracteres en relación con una fecha y hora.
Símbolo | Significado | Presentación | Ejemplos |
---|---|---|---|
a | marcador de AM o PM | Texto | Entrada am, AM, pm, PM. Salida AM o PM |
d | día del mes (1-31) | Número | 1, 20 |
dd | día del mes (01-31) | Número | 01, 31 |
D | día del año (1-366) | Número | 3, 80, 100 |
DD | día del año (01-366) | Número | 03, 80, 366 |
DDD | día del año (001-366) | Número | 003 |
e | día de la semana (1 a 7) | Número | 26 |
EEE | día de la semana | Texto | Mar |
EEEE | día de la semana | Texto | Martes |
F | día de la semana del mes (1-5) | Número | 2 (para el segundo miércoles de Julio)3 |
G | Era | Texto | BC o AD |
h | hora AM o PM (1 a 12) | Número | 6 |
hh | hora en am o pm (01-12) | Número | 06 |
H | hora del día en formato de 24 horas (0-23) | Número | 77 |
HH | hora del día en formato de 24 horas (00-23) | Número | 077 |
I | Fecha/hora ISO8601 (hasta yyyy-MM-dd'T'HH:mm:ss.SSSZZZ) | texto | 2004-10-07T12:06:56.568+01:005 |
IU | Fecha/hora ISO8601 (igual que la anterior, pero ZZZ con la salida "Z" si el huso horario es +00:00) | texto | 2004-10-07T12:06:56.568+01:00, 2003-12 -15T15:42:12.000Z 5 |
k | hora del día en formato de 24 horas (1-24) | Número | 87 |
k | hora del día en formato de 24 horas (01-24) | Número | 087 |
K | hora AM o PM (0 a 11) | Número | 9 |
KK | hora en am o pm (00-11) | Número | 09 |
m | minuto | Número | 4 |
mm | minuto | Número | 04 |
M | número del mes | Número | 5, 12 |
MM | número del mes | Número | 05, 12 |
MMM | nombre del mes | Texto | Ene, Feb |
MMMM | nombre del mes | Texto | Enero, Febrero |
s | segundos | Número | 5 |
ss | segundos | Número | 05 |
S | décimas de segundos | Número | 78 |
SS | centésimas de segundo | Número | 708 |
SSS | milisegundos | Número | 7008 |
SSSS | 1/10.000 de segundos | Número | 70008 |
SSSSS | 1/100.000 de segundos | Número | 700008 |
SSSSSS | 1/1.000.000 de segundos | Número | 7000008 |
T | Hora ISO8601 (hasta HH:mm:ss.SSSZZZ) | texto | 12:06:56.568+01:005 |
TU | Hora ISO8601 (igual que la anterior pero el huso horario de +00:00 se sustituye por 'Z') | texto | 12:06:56.568+01:00, 15:42:12.000Z5 |
w | semana del año | Número | 7, 532 |
ww | semana del año | Número | 07, 532 |
W | semana del mes | Número | 24 |
yy | año | Número | 961 |
yyyy | año | Número | 19961 |
YY | año: utilizar sólo con semana del año | Número | 962 |
YYYY | año: utilizar sólo con semana del año | Número | 19962 |
zzz | huso horario (nombre abreviado) | Texto | gmt |
zzzz | huso horario (nombre completo) | Texto | Hora media de Greenwich |
Z | huso horario (+/-n) | Texto | +3 |
ZZ | huso horario (+/-nn) | Texto | +03 |
ZZZ | huso horario (+/-nn:nn) | Texto | +03:00 |
ZZZU | huso horario (igual que ZZZ, se sustituye "+00:00" por "Z") | Texto | +03:00, Z |
ZZZZ | huso horario (GMT+/-nn:nn) | Texto | GMT+03:00 |
ZZZZZ | huso horario (igual que ZZZ, pero sin el signo de dos puntos) (+/-nnnn) | Texto | +0300 |
' | escape para texto | 'Texto de usuario' | |
'' | (dos comillas simples) comillas simples en el texto de escape | 'en''punto' |
La presentación del objeto de fecha y hora depende de los símbolos que especifique del modo que se indica a continuación:
Si utiliza el símbolo y, el ajuste no se realiza y pueden producirse resultados imprevisibles para fechas cercanas al fin de año. Por ejemplo, si se formatea la serie de caracteres "2005 01 Lunes":
Si los valores de fecha y hora son compatibles con el estándar ISO8601:2000 para la representación de fechas y horas, debe considerar si es posible utilizar los símbolos de formato I y T. Estos coinciden específicamente con un subconjunto de ISO8601.
Estos símbolos sólo se pueden utilizar por su cuenta.
En la salida, se aplicará el formato siguiente dependiendo del tipo y hora lógico:
Tipo de datos MRM lógico | Tipo de datos ESQL lógico | Formato de salida |
---|---|---|
xsd:dateTime | TIMESTAMP o GMTTIMESTAMP | yyyy-MM-dd'T'HH:mm:ss.SSSZZZ |
xsd:date | DATE | aaaa-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 |
Un elemento o atributo de tipo lógico xsd:dateTime o xsd:time que contiene una fecha y hora como una serie de caracteres puede especificar la hora UTC (Coordinated Universal Time) utilizando el carácter Z o el huso horario +00:00. En la entrada, el analizador MRM recuerda el formato UTC de estos elementos y atributos. En la salida, puede especificar si deben aparecer Z o +00:00 utilizando la propiedad de formato de fecha y hora del elemento o atributo. Alternativamente puede conservar el formato UTC de la entrada seleccionando la propiedad del conjunto de mensajes Utilizar formato UTC de entrada en la salida. Si se selecciona esta propiedad, entonces se conservará el formato UTC en el mensaje de salida y se alterará temporalmente el implícito en la propiedad de formato de fecha y hora.
La tabla siguiente muestra algunos ejemplos de formato de fecha y hora:
Patrón de formato | Resultado |
---|---|
"yyyy.MM.dd'a las'HH:mm:ss ZZZ" | 1996.07.10 a las 15:08:56 -05:00 |
EEE, MMM d, "yy" | Mié, Julio 10, '96 |
"h:mm a" | 8:08 PM |
"hh 'en punto' a, ZZZZ" | 09 en punto AM, GMT+09:00 |
"K:mm a, ZZZ" | 9:34 AM, -05:00 |
"yyyy.MMMMM.dd hh:mm aaa" | 1996.Julio.10 12:08 PM |