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 ejemplo | Dar 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 formato | Tipo de formato | Descripció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 ejemplo | Formato | Hora 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 datos | Dar formato a cadena | Regional | Fecha 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 datos | Dar formato a cadena | Designador de PM | Hora 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 |