WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Conjuntos de mensajes: Fecha y hora como datos de serie

Puede utilizar una serie de letras de patrones para especificar el formato de fecha y hora.

Cuando convierte una fecha u hora a una serie, debe aplicar un patrón de formato que dirija la conversión. Aplique el patrón de formato para convertir una fecha o una hora a una serie, o para analizar una serie como una fecha u hora.

Durante la conversión (por ejemplo, de una fecha y hora a una serie) se sustituye un patrón o un conjunto de símbolos por su origen equivalente. El diagrama siguiente muestra cómo se utiliza un patrón para formatear un origen de fecha y hora para generar una salida en forma de serie.

Este diagrama muestra la serie de salida como resultado de un origen de fecha y hora y un patrón de formato.

Cuando se analiza una serie (por ejemplo, al convertirla en una fecha y hora), se utiliza el patrón o el conjunto de señales para determinar qué parte de la fecha y hora de destino está representada por qué parte de la serie. El diagrama siguiente muestra se lleva a cabo esta acción.

Este diagrama muestra la salida de fecha y hora como resultado de un origen de datos de serie y un patrón de formato.

Sintaxis

El patrón de la expresión se define mediante:

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual
   .-------------.   
   V             |   
>>---+-símbolo-+-+---------------------------------------------><
     '-serie---'     

donde:
símbolo
es un carácter del juego de caracteres adDeEFGhHIkKmMsSTUwWyYzZ.
serie
es una secuencia de caracteres encerrada entre comillas simples. Si se necesitan apóstrofos en la serie, utilice dos ").

Caracteres para dar a la fecha y hora el formato de una serie de caracteres

La tabla siguiente lista los caracteres que puede utilizar en un patrón para dar formato o para analizar series en relación con una fecha y hora. La tabla va seguida de algunas notas que explican más cosas de los ejemplos de la tabla.

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-7)1 Número 2
EEE día de la semana1 Texto Mar
EEEE día de la semana1 Texto Martes
F día de la semana del mes (1-5)2 Número 2
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)3 Número 7
HH hora del día en formato de 24 horas (00-23)3 Número 07
I Fecha/hora ISO8601 (hasta yyyy-MM-dd'T'HH:mm:ss. SSSZZZ)4 Texto 2006-10-07T12:06:56.568+01:00
IU Fecha y hora ISO8601 (similar a I, pero ZZZ con la salida "Z" si el huso horario es +00:00)4 Texto 2006-10-07T12:06:56.568+01:00, 2003-12 -15T15:42:12.000Z
k hora del día en formato de 24 horas (1-24)3 Número 8
kk hora del día en formato de 24 horas (01-24)3 Número 08
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 segundo5 Número 7
SS centésimas de segundo5 Número 70
SSS milisegundos5 Número 700
SSSS 0,0001 segundos5 Número 7000
SSSSS 0,00001 segundos5 Número 70000
SSSSSS 0,000001 segundos5 Número 700000
T Hora ISO8601 (hasta HH:mm:ss.SSSZZZ)4 Texto 12:06:56.568+01:00
TU Hora ISO8601 (similar a T, pero el huso horario de +00:00 se sustituye por 'Z')4 Texto 12:06:56.568+01:00, 15:42:12.000Z
w semana del año6 Número 7, 53
ww semana del año6 Número 07, 53
W semana del mes7 Número 2
yy año8 Número 06
yyyy año8 Número 2006
YY año: utilizar sólo con semana del año6 Número 06
YYYY año: utilizar sólo con semana del año6 Número 2006
zzz Huso horario (nombre abreviado)9 Texto ¿¿ EST
zzzz huso horario (nombre completo) Texto ?? Hora estándar del este
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 apóstrofos) un apóstrofo dentro de un texto de escape   'o"clock' (en punto)

La presentación del objeto de fecha y hora depende de los símbolos que especifique.

Notas: Las notas siguientes hacen referencia a la tabla anterior.
  1. El campo del día de la semana es el desplazamiento numérico en una semana y varía dependiendo del valor de la propiedad del conjunto de mensajes física Primer día de la semana. Por ejemplo, el tercer día de la semana es el miércoles cuando la propiedad del conjunto de mensajes físico Primer día de la semana se establece en lunes.
  2. El 12 de julio de 2006 es el segundo miércoles de julio y se puede expresar como 2006 julio miércoles 2 utilizando la serie de formato yyyy MMMM EEEE F. Observe que este formato no representa el miércoles de la semana 2 de julio de 2006, que es el 5 de julio de 2006; la serie de formato para esta fecha sería yyyy MMMM EEEE W.
  3. Los campos de 24 horas pueden dar como resultado una hora ambigua si se especifica un campo am/pm conflictivo.
  4. Consulte el apartado Símbolos de fecha y hora ISO8601, I y T.
  5. Los segundos fraccionados se representan mediante la letra S en mayúsculas. La longitud debe coincidir implícitamente con el número de símbolos de formato en la entrada. La serie de formato ss SSS o ss.SSS, por ejemplo, representan segundos y milisegundos. Sin embargo, la serie de formato ss.sss representa un campo repetido (de segundos); el valor después del punto (.) se toma como un campo de segundos, no como fracciones de segundo. La salida se trunca en la longitud especificada.
  6. El inicio de un año suele estar en medio de una semana. Si el número de días de dicha semana es inferior al valor especificado por la propiedad Días de la primera semana del año establecida en el conjunto de mensajes, se considera que la semana es la última semana del año anterior; en este caso, la semana 1 comienza algunos días después del inicio del año nuevo. De lo contrario, se considera que la semana es la primera semana del año nuevo; en este caso, la semana 1 empieza unos días antes del inicio del año nuevo. Por ejemplo, el lunes de la semana 1 de 2004 (2004 01 Lunes, en la que los días de la primera semana del año = 4 y el primer día de la semana = Lunes ) con el formato de serie YYYY ww EEEE es de hecho el 29 de diciembre de 2003. Si utiliza Y, el día de la semana (E) y la semana del año (w) se ajustan, si es necesario, para indicar que la fecha corresponde al año anterior.

    Si utiliza el símbolo y en minúscula, no se realiza el ajuste y se pueden producir resultados imprevisibles para las fechas que están próximas al fin de año. Por ejemplo, si se formatea la serie 2002 01 Lunes:

    • El lunes de la semana 1 de 2002 con el formato de serie de caracteres YYYY ww EEEE se interpreta correctamente como el 31 de diciembre de 2001
    • El lunes de la semana 1 de 2002 con el formato de serie de caracteres yyyy ww EEEE se interpreta incorrectamente como el 30 de diciembre de 2002

    Utilice Y sólo junto con w; si no especifica w, utilice y.

  7. Es posible que la primera y la última semana de un mes incluyan días de meses contiguos. Por ejemplo, Lunes 31 de julio de 2006 se puede expresar como Lunes de la semana uno de agosto de 2006, que es 2006 08 1 Lunes utilizando la serie de formato yyyy MM W EEEE.
  8. El año se maneja como un caso especial:
    • En la salida, si la cuenta de y es 2, se trunca el año a 2 dígitos. Por ejemplo, si yyyy produce 2006, yy producirá 06.
    • En la entrada, para los años de dos dígitos se utiliza la propiedad del conjunto de mensajes físico Principio de siglo para años de 2 dígitos para determinar el siglo. Por ejemplo, si se establece Principio de siglo para años de 2 dígitos en 53, el año 97 es 1997, el año 52 es 2052 y el año 53 es 1953.
  9. Si se utiliza la opción zzz puede obtener resultados ambiguos. Por ejemplo, BST se puede interpretar como Hora legal en Bangladesh o Hora de verano británica. Por motivos de compatibilidad, WebSphere Message Broker utiliza la primera interpretación.

    Para evitar estos problemas, utilice la opción zzzz con un nombre bien definido; por ejemplo, Europa/Londres, Asia/Dhaka o América/Los_Angeles.

Símbolos de fecha y hora ISO8601, I y T

Si los valores de fecha y hora cumplen con el estándar ISO8601:2000 para la representación de fechas y horas, debe considerar la utilización de los símbolos de formato I y T, que coinciden con el subconjunto siguiente del estándar ISO8601.

Utilice los símbolos de formato I y T por cuenta propia:

La tabla siguiente muestra cómo se relaciona el formulario de salida con el tipo de datos lógicos.

Tipo de datos de modelo lógico Tipo de datos ESQL Formato de salida
xsd:dateTime TIMESTAMP o 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
Nota:
  • En la salida, tanto I como T aceptan '+00:00' y 'Z' para indicar una diferencia horaria de cero de la hora UTC (Coordinated Universal Time), pero en la salida siempre se genera '+00:00'. Si desea que siempre se genere 'Z' en la salida, utilice los símbolos de formato IU o TU.
  • ZZZ siempre registra '+00:00' en la salida para indicar una diferencia horaria de cero con respecto a la hora UTC (Coordinated Universal Time). Si desea que siempre se genere 'Z' en la salida, utilice ZZZU.

Utilizando el formato UTC en la salida

Un elemento o atributo de tipo lógico xsd:dateTime o xsd:time que contiene una fecha y hora como serie puede especificar UTC (Coordinated Universal Time) utilizando el símbolo 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 se visualiza Z o +00:00 utilizando la propiedad Formato de fecha y hora predeterminado del elemento o el atributo. O bien, 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, se conservará el formato UTC en el mensaje de salida y prevalecerá sobre el formato implícito en la propiedad de formato de fecha y hora.

Ejemplos

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" 2006.07.10 a las 15:08:56 -05:00
"EEE, MMM d, "yy" Mié, Julio 10, '06
"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
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:59:13


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ad09291_