Convertir valores de tiempo numéricos o de cadena de caracteres a un formato de fecha

Se recomienda que almacene los valores temporales de sus datos temporales en uno de los tipos de campo de fecha dedicados. Estos tipos de campo de base de datos están diseñados específicamente para almacenar información sobre la hora y la fecha. Son más eficientes para el rendimiento de las consultas y admiten consultas más sofisticadas a la base de datos que el almacenamiento del tiempo en un campo numérico o de cadena.

Más información sobre las prácticas recomendadas para almacenar datos temporales

Si tiene valores temporales almacenados en un campo numérico o de cadena de caracteres (corto, largo, flotante o doble), puede convertirlos en un tipo de campo de fecha utilizando la herramienta de geoprocesamiento Convertir campo temporal. Utilice esta herramienta para especificar un formato de hora estándar o personalizado para interpretar los valores de fecha y hora y convertirlos en uno de los formatos de fecha.

Los formatos estándar reciben soporte con la herramienta Convertir campo temporal. Sin embargo, si tiene valores de tiempo almacenados en un campo de cadena de caracteres con un formato de fecha y hora personalizado, puede crear un formato personalizado de fecha y hora para interpretar los datos. Por ejemplo, cuando se utiliza la herramienta Convertir campo de tiempo para convertir un valor de tiempo de martes, 20 de agosto de 2002 almacenado como cadena de caracteres en un formato de fecha, especifique el formato de tiempo de entrada como dddd, MMMM dd, aaaa.

Nota:

  • Al utilizar la herramienta Convertir campo temporal, la lista de formatos de hora de entrada estándar admitidos varía en función de si los valores de hora de entrada se almacenan en un campo numérico o de cadena de caracteres (corto, largo, flotante o doble).
  • La herramienta Convertir campo temporal le permite especificar formatos personalizados de fecha y hora solo cuando los valores temporales se almacenan en un campo de cadena de caracteres. Los formatos de fecha y hora personalizados no son compatibles cuando los valores de tiempo se almacenan en campos numéricos.

Cadenas de formato de fecha y hora

Una cadena de formato de fecha y hora contiene información de fecha y hora en un formato coherente. Cada cadena de formato consta de una combinación de formatos que proceden de un tipo de formato disponible. Algunos ejemplos de tipos de formatos son día de la semana, mes, hora y segundo. En una única cadena de formato de fecha y hora, solo se debe utilizar un formato de cada tipo de formato. No obstante, no es necesario incluir todos los tipos de formato en una cadena de formato. Por ejemplo, es habitual definir una cadena de formato de fecha que contiene sólo información del año, mes y día del mes, sin incluir información relativa a la hora del día.

Una cadena de formato puede contener solo información de hora, solo información de fecha o una combinación de información de fecha y hora. Las cadenas de formato también pueden incluir separadores, como comas, que separan los formatos utilizados en la cadena de formato.

Debe analizar sus datos para determinar la cadena de formato de fecha y hora adecuada a fin de interpretar sus datos. Los siguientes ejemplos muestran una variedad de cadenas de formato para interpretar fechas y horas:

Ejemplos de cadenas de formatos de fecha y hora

Valores de datos de ejemploDar formato a cadena

30/05/1978 02:34:56

dd/MM/aaaa HH:mm:ss

2/4/2010 2:39:28 PM

M/d/aaaa h:mm:ss tt

6:05:12 a.m.

h:mm:ss tt

23:31:18,345

HH:mm:ss.s

Martes, agosto 20, 2002

dddd, MMMM dd, aaaa

Mie, 31 Ago 1994

ddd, MMM dd aaaa

03281999030456

MMddaaaaHHmmss

Personalizar formatos de fecha y hora

Una cadena de formato personalizada consta de uno o varios especificadores de formato de fecha y hora. En la siguiente tabla se resumen los especificadores de formato que se pueden utilizar para crear un formato personalizado de fecha y hora para interpretar los datos:

Especificadores de formato de fecha y hora

Especificador de formatoTipo de formatoDescripción

d

Día del mes

Día del mes como dígitos sin ceros a la izquierda para días de un solo dígito.

dd

Día del mes

Día del mes como dígitos con ceros a la izquierda para días de un solo dígito.

ddd

Día de la semana

Día de la semana como abreviatura de tres letras. Con esta función se utilizan las abreviaturas asociadas con la ubicación especificada, por ejemplo, Mon en inglés (Estados Unidos).

Sugerencia:

Los días de la semana no se verifican cuando se interpreta un valor de fecha. Por tanto, no importa si un día de la semana que aparece en los datos se corresponde correctamente con la fecha representada en el valor de los datos.

dddd

Día de la semana

Día de la semana como nombre entero. Con esta función se utilizan los nombres completos de los días asociados con la ubicación especificada, por ejemplo, Monday en inglés (Estados Unidos).

Sugerencia:

Los días de la semana no se verifican cuando se interpreta un valor de fecha. Por tanto, no importa si un día de la semana que aparece en los datos se corresponde correctamente con la fecha representada en el valor de los datos.

M

Mes

Mes como dígitos sin ceros a la izquierda para meses de un solo dígito.

MM

Mes

Mes como dígitos con ceros a la izquierda para meses de un solo dígito.

MMM

Mes

Mes como abreviatura de tres letras. Con esta función se utilizan las abreviaturas del mes asociadas con la ubicación especificada, por ejemplo, Nov en inglés (Estados Unidos).

MMMM

Mes

Mes como su nombre completo. Con esta función se utilizan los nombres completos de los meses asociados con la ubicación especificada, por ejemplo, November en inglés (Estados Unidos), y noviembre en español (España).

y

Año

Año como los últimos dos dígitos, pero sin ceros a la izquierda para años cuyos dos últimos dígitos son inferiores a 10.

Sugerencia:

Los años representados de este modo pueden variar desde 1950 a 2049. Un valor de 49 o menor se interpreta como que ocurre en el siglo XXI, por ejemplo, 7 se interpreta como 2007. Un valor de 50 o mayor se interpreta como que ocurre en el siglo XX, por ejemplo, 67 se interpreta como 1967.

aa

Año

Año representado por los dos últimos dígitos, pero con un cero a la izquierda para años cuyos dos últimos dígitos son inferiores a 10.

Sugerencia:

Los años representados de este modo pueden variar desde 1950 a 2049. Un valor de 49 o menor se interpreta como que ocurre en el siglo XXI. Por ejemplo, 07 se interpreta como 2007. Un valor de 50 o mayor se interpreta como que ocurre en el siglo XX, por ejemplo, 67 se interpreta como 1967.

aaa

Año

Año representado sólo por tres dígitos. Los años representados de este modo pueden variar desde 1 a 999.

aaaa

Año

Año representado por cuatro dígitos.

gg

Era

Cadena de periodo/era. Con esta función se utilizan los valores de era asociados con la ubicación especificada.

T

Separador de tiempo

Delimitador que concatena un valor de fecha anterior y un valor de tiempo siguiente. La función se ve generalmente en formatos ISO.

h

Hora

Hora sin ceros a la izquierda para horas de un solo dígito; reloj de 12 horas.

H

Hora

Hora sin ceros a la izquierda para horas de un solo dígito; reloj de 24 horas.

hh

Hora

Hora con ceros a la izquierda para horas de un solo dígito; reloj de 12 horas.

HH

Hora

Hora con ceros a la izquierda para horas de un solo dígito; reloj de 24 horas.

m

Minuto

Minutos sin ceros a la izquierda para minutos de un solo dígito.

mm

Minuto

Minutos con ceros a la izquierda para minutos de un solo dígito.

s

Segundo

Segundos sin ceros a la izquierda para segundos de un solo dígito.

ss

Segundo

Segundos con ceros a la izquierda para segundos de un solo dígito.

s.s

Segundo

Segundos, incluidos los subsegundos, sin ceros a la izquierda para segundos de un solo dígito. Aunque el formato solo muestra un decimal, se puede utilizar cualquier número de decimales.

Precaución:

La precisión de los valores de subsegundos queda limitada a los valores compatibles con el tipo de datos del campo de hora. Por ejemplo, si se utiliza un campo de hora del tipo de datos de campo flotante o doble, pueden producirse errores de redondeo.

ss.s

Segundo

Segundos, incluidos los subsegundos, con ceros a la izquierda para segundos de un solo dígito. Aunque el formato solo muestra un decimal, se puede utilizar cualquier número de decimales.

Precaución:

La precisión de los valores de subsegundos queda limitada a los valores compatibles con el tipo de datos del campo de hora; por ejemplo, si se utiliza un campo de hora o datos de campo de los tipos flotante o doble pueden producirse errores de redondeo.

t

Marcador de hora

Una cadena de caracteres marcadora de carácter de tiempo, como por ejemplo, A o P.

tt

Marcador de hora

Una cadena de caracteres marcadora de múltiples caracteres de tiempo, como por ejemplo, AM o PM.

z

Designador de zona horaria

Este sufijo indica que el valor de hora está expresado en la hora universal coordinada (UTC). La función se ve generalmente en formatos ISO.

Separadores

Los separadores son caracteres que separan la información en valores de datos de texto. Ejemplos de separadores habituales son la coma (,), los dos puntos (:) y el espacio ( ), pero no hay restricciones en los separadores que se pueden utilizar para crear cadenas de formato. Es posible crear cadenas de formato sin ningún separador, sobre todo al interpretar fechas y horas almacenadas en campos numéricos, ya que dichos campos numéricos no pueden almacenar los caracteres separadores más frecuentes.

Muy pocas veces, es posible que los datos contengan separadores que entren en conflicto con los formatos de la tabla anterior. En esos casos, se deben utilizar comillas simples para aislar los separadores en la cadena de formato. En general, se pueden utilizar comillas simples para aislar cualquier separador en una cadena de formato, pero no se recomienda utilizarlas salvo en caso de posible conflicto. Los siguientes ejemplos muestran estos conceptos:

Valores de datos de ejemploFormatoHora o fecha interpretada (visualizada como MM/dd/aaaa o HH:mm:ss)

mes12día30año2010

'mes'MM'día'dd'año'aaaa

30/12/2010

30/12/2010

ddMMaaaa

30/12/2010

Hora:18h6min3seg

'Hora:'h'h'm'min's'seg'

18:06:03

18:6:3

HH:m:s

18:06:03

Localizaciones

Las configuraciones regionales son importantes, ya que determinan los valores válidos de los datos para las representaciones largas de algunos de los formatos de fecha de la tabla anterior. Por ejemplo, el valor November solo se interpreta correctamente en MMMM si la configuración local está en inglés. En algunos casos, si la cadena de formato no utiliza ninguna representación larga, la configuración local es irrelevante para interpretar la fecha, pero es posible que dicha configuración afecte a la interpretación de los designadores AM y PM. Si no se especifican designadores AM ni PM, se utilizan los designadores AM y PM predeterminados para la configuración local.

Las configuraciones locales no afectan a los formatos que se utilizan para crear cadenas de formato. Por ejemplo, el carácter M (o MM, MMM, MMMM) representa meses, independientemente de la configuración local. Los siguientes ejemplos muestran cómo se utiliza la configuración local para interpretar fechas:

Valor de datosDar formato a cadenaRegionalFecha interpretada (MM/dd/aaaa)

Noviembre 30, 2010

MMMM dd, aaaa

Inglés (Estados Unidos)

30/11/2010

Noviembre 30, 2010

MMMM dd, aaaa

Español (España)

30/11/2010

Lun, Feb 22, 2010

ddd, MMM dd, aaaa

Inglés (Estados Unidos)

22/02/2010

30/12/2010

dd/M/aaaa

Todas las localizaciones

30/12/2010

Designadores de AM y PM

Todas las localizaciones tienen marcadores de hora estándar o designadores de AM y PM. Sin embargo, puede definir sus propios marcadores de hora. Si los marcadores de hora existen en su cadena de formato (t o tt), se deben definir los caracteres utilizados para representar los marcadores de hora. Los marcadores de hora solo son adecuados para su uso con cadenas de formato que utilizan el reloj de 12 horas (h o hh). No son adecuados para cadenas de formato que utilizan el reloj de 24 horas (H o HH). Si no define sus propios marcadores de hora, se utilizarán los marcadores de hora estándar de la configuración local seleccionada. Para definir sus propios designadores de AM y PM, el campo de tiempo debe tener un campo de tipo de datos de texto. Los siguientes ejemplos muestran estos conceptos utilizando sólo un designador de PM para hacerlo más sencillo. Se aplican los mismos conceptos al designador AM:

Valor de datosDar formato a cadenaDesignador de PMHora interpretada (HH:mm:ss)

6:12:34 P

h:mm:ss t

P

18:12:34

6:12:34 p.m.

h:mm:ss tt

p.m.

18:12:34

6:12:34

H:mm:ss

p.m.

6:12:34

6:12:34 PM

h:mm:ss tt

p.m.

18:12:34