titulo name longitud keywords etiqueta ejemplos description cual content caracteres c# string timestamp utc string-length

c# - name - Longitud de cadena de marca de tiempo



meta name description content (4)

Para obtener el tamaño máximo de TimeSpan intente utilizar este código:

var maxValue = Convert.ToInt64(TimeSpan.MaxValue).ToString();

Espero que te ayude con tu pregunta! ¡Buena suerte!

Saludos, Dima.

Si hiciera esto

// Default implementation of UNIX time of the current UTC time TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); string myResult = ""; myResult = Convert.ToInt64(ts.TotalSeconds).ToString();

¿Cuál es la longitud máxima de cadena de myResult y siempre es del mismo tamaño?


Si se Convert.ToInt64() con Convert.ToInt64() sin formato, su longitud máxima será 20 , porque el Int64 mínimo es -9223372036854775808 (el signo negativo requiere un carácter adicional). En la práctica, sin embargo, no utilizará todo el rango permitido por Int64 debido a las limitaciones en TimeSpan y DateTime .

Y, no, la duración de myResult no siempre será la misma, pero puede variar de 1 a 20. Simplemente depende del valor actual de Convert.ToInt64(ts.TotalSeconds) .


Suponiendo que el código se utiliza en el futuro sería la longitud máxima de un Int64.

Por ejemplo, ahora ese valor es 1292022273, por lo que la longitud sería 10.

Puede encontrar una calculadora que incluye los segundos aquí http://www.timeanddate.com/date/duration.html


Un Int64 es un entero de 64 bits con signo, lo que significa que tiene un rango de valores de −9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 .

Como toString no formatea su salida con comas, el valor más largo posible de la cadena sería −9223372036854775808 que tiene 20 caracteres de longitud.

Ahora, dado que esto representa una marca de tiempo UNIX, debemos tener en cuenta lo que se consideraría una fecha "razonable" para regresar. Mientras escribo esto, una marca de tiempo UNIX actual sería algo cercano a 1292051460 , que es un número de 10 dígitos.

Asumir una longitud máxima de 10 caracteres le da un rango de marcas de tiempo de -99999999 a 9999999999 . Esto le da un rango de fechas desde "lunes, 31 de octubre de 1966, 14:13:21 GMT" hasta "sáb, 20 de noviembre de 2286, 17:46:39 GMT". Tenga en cuenta que estoy incluyendo el símbolo de negación como un carácter en el límite inferior, por lo que el límite inferior está mucho más cerca de la época que el límite superior.

Si no está esperando fechas anteriores a Halloween 1966 o después de finales de noviembre de 2286, puede suponer razonablemente que la longitud de la cadena no excederá los 10 caracteres. Si está esperando fechas fuera de este rango (probablemente antes de 1966 en lugar de después de 2286), puede esperar ver una cadena de 11 caracteres. No esperaría más que eso.

Esa es la cantidad máxima de caracteres que se puede esperar; podría ser más corto.