Fecha y hora

Conversor de ticksConserva hasta la última fracción

Introduce un DateTime.Ticks o una fecha con segundos por línea. Declara UTC o tiempo sin zona antes de interpretar el número.

Conversor de ticks

Entrada

La entrada se procesa en este navegador y no se envía a ningún servidor.

Resultados

Opciones

Solo DateTime.Ticks · origen 0001-01-01 · 1 tick = 100 ns.

Un entero no negativo o YYYY-MM-DDTHH:mm:ss por línea, con 1–7 decimales opcionales. UTC admite Z o ±HH:mm; sin sufijo también se interpreta como UTC. Unspecified no admite sufijos.

El entero no contiene Kind. Unspecified conserva los campos del calendario sin generar Unix. Local necesita la zona de origen, que no se deduce aquí.

Las fechas conservan siete decimales. Los segundos y milisegundos Unix se redondean hacia abajo y muestran su resto no negativo en ticks.

Hasta 1000 líneas físicas y 100000 unidades de código UTF-16. Las líneas vacías se indican como errores.

Introduce datos o carga un ejemplo.

Este conversor de ticks sirve para leer enteros largos de registros C# sin ocultar las últimas cifras. Dos eventos distintos pueden parecer iguales si la vista de fechas solo muestra milisegundos.

Comprueba qué propiedad originó el valor. DateTime cuenta desde el año 1, mientras que TimeSpan representa una duración. El entero por sí solo no permite recuperar Kind ni la zona del sistema que lo creó.

Por qué usar este conversor de ticks

Un tick sobrevive a la ida y vuelta

El conversor de ticks muestra 621355968000000001 como 1970-01-01T00:00:00.0000001Z en UTC. La vuelta utiliza la fecha completa, de modo que esa fracción inferior a un milisegundo no desaparece.

Una escala fina ampliada se conecta en ambos sentidos con un calendario y un reloj.

No asignar una zona desconocida

Unspecified describe campos de reloj, sin identificar un instante confirmado. Su informe omite Z y los valores Unix. Así se evita añadir la zona del navegador a datos cuyo contexto no está disponible.

Dos relojes con la misma lectura parten de un contador; solo uno se une a un globo y una línea temporal.

Comprueba el contexto antes de convertir

01

Identifica la propiedad de origen

Elige UTC para DateTime.Ticks confirmados como UTC o para UtcTicks. DateTimeOffset.Ticks necesita además Offset. Sin él, lee los campos como Unspecified o introduce una fecha con desfase en la dirección inversa.

02

Prueba los extremos

El ejemplo incluye el mínimo, el origen Unix más un tick y el máximo. Revisa la vista previa y aplica para comprobar las siete cifras. Deshacer restaura tanto la entrada como el informe anterior.

03

Controla la actualización

La conversión automática espera 350 ms tras editar. Desactívala para usar Convertir o Ctrl/Cmd + Enter. Invertir necesita todas las filas válidas y actuales; cambiar una opción bloquea de inmediato la exportación anterior.

Fechas exactas y diagnóstico por línea

Conversión en ambos sentidos

Convierte ticks de .NET a fecha y fechas a ticks sin pasar por coma flotante. Los enteros largos salen como cadenas JSON para que otro analizador no redondee las últimas cifras.

Normalización del desfase

En UTC, una fecha con +02:00 se normaliza antes de contar. Si no tiene sufijo se utiliza la interpretación elegida. La zona actual del navegador no modifica los campos introducidos.

Milisegundos con resto

El informe UTC incluye segundos y milisegundos Unix, junto con lo que queda en ticks. Justo antes de 1970, el cociente sigue siendo negativo gracias al redondeo hacia menos infinito.

Errores sin perder correspondencia

Cada fila mantiene el texto original y su número físico. La vista comienza con 50 filas y permite añadir otras 50; copiar y descargar siempre incluyen el lote completo, con sus errores.

Qué significan los valores admitidos

Un solo origen
Calendario gregoriano desde 0001-01-01 y unidades de 100 ns. No se interpretan FILETIME, WebKit, Excel, TimeSpan, Stopwatch, Environment.TickCount, rowversion ni DateTime.ToBinary. Tampoco se detecta el formato por longitud.
Rango de DateTime
Se aceptan 0–3155378975999999999 ticks y años de cuatro cifras entre 0001 y 9999. El resultado UTC tras aplicar un desfase también debe quedar en ese rango, aunque la fecha local introducida fuera válida.
Sintaxis estricta
YYYY-MM-DDTHH:mm:ss permite un espacio en lugar de T, 1–7 decimales y Z o ±HH:mm opcionales. Se rechazan fechas imposibles, segundos intercalares, 24:00, segundos ausentes y decimales extra. No se recortan espacios ni se redondea.
Sin recuperación de zona
UTC admite desfases hasta ±14:00, excepto el desconocido -00:00. Unspecified rechaza incluso Z. Cambiar de interpretación relee los mismos campos; no convierte Local ni reconstruye Kind, zonas IANA u horario de verano.
Límites de entrada
Hasta 1.000 líneas físicas y 100.000 unidades de código UTF-16. Las líneas vacías, incluida la última tras un salto, son errores. Superar un límite rechaza todo el lote. No hay archivos, lectura de URL, aritmética de fechas ni reloj continuo.
Sustitución revisable
Ejemplo, Vaciar e Invertir muestran primero el texto nuevo y su tamaño. Tras aplicar se permite deshacer una vez, recuperando opciones y resultados. La inversión no omite filas erróneas ni utiliza milisegundos redondeados.

Conversor de ticks: preguntas frecuentes

¿Cómo convierto ticks a una fecha?

Selecciona Ticks → fecha y declara su interpretación. En C#, new DateTime(ticks) crea los campos con Kind.Unspecified. Para valores cuya naturaleza UTC esté confirmada, usa el constructor con DateTimeKind.Utc.

¿Por qué DateTime.Ticks depende de la zona horaria?

Ticks refleja los campos del reloj y Kind explica su significado. DateTime.Now y ToUniversalTime() pueden representar el mismo instante con números diferentes. Guardar solo Ticks no conserva la propiedad Kind.

¿Cómo obtengo milisegundos a partir de ticks?

Un milisegundo contiene 10.000 ticks. Dividir directamente cuenta desde el año 1. Para milisegundos Unix en UTC, resta primero 621355968000000000. Conserva también el resto si necesitas distinguir fracciones inferiores al milisegundo.

¿Puedo guardar DateTime.Now.Ticks en un int sin perder precisión?

Un entero de 32 bits es demasiado pequeño para una fecha actual. Usa long en .NET y cadenas al intercambiar datos con analizadores JSON de coma flotante. Guardar una diferencia respecto a una base exige limitar el rango expresamente.

¿Por qué DateTime utiliza ticks en lugar de milisegundos?

El incremento de 100 ns permite representar fracciones más pequeñas en un valor de 64 bits. No implica que el reloj del sistema mida cada 100 ns: la resolución del formato no equivale a la precisión real de la medición.

¿Un resultado inesperado?

Revisa una fecha conocida

Usa el conversor de ticks para contrastar un valor conocido y guarda el informe completo con la interpretación elegida junto al registro original.