tiempo reves que porque paso los hubo historia hay cuentan cuantos cristo contaba como calculan años año antes c# .net datetime

c# - paso - porque los años antes de cristo se cuentan al reves



¿Cuál es la(mejor) forma de manejar las fechas antes de Cristo en C#/. NET? (3)

Si se refiere al manejo de los valores DateTime <DateTime.MinValue, entonces creo que el único "consenso" es no usar System.DateTime para intentar representarlos.

Cualquier consenso probablemente existiría solo dentro de una comunidad que sí funciona con esas fechas. ¿Cuál es el área en la que estás trabajando? ¿Astronomía?

Cualquiera que sea el área de interés, es probable que haya otros que hayan experimentado este mismo problema. Investigaré primero, especialmente si tus fechas alguna vez necesitarán interoperar con otro software en esta misma área de interés. Incluso si tiene que codificar uno propio, al menos puede darse cuenta de los problemas que otros han tenido al codificar los suyos.

¿Hay algún soporte incorporado para eso? Y si no, ¿hay algún consenso sobre el manejo de tales fechas?

Los enlaces a soluciones con código propio, o fragmentos de él, son muy bienvenidos.



Sé que esta pregunta es antigua, pero la encontré en una búsqueda y puedo agregar información adicional sobre este tema. En los comentarios anteriores, alguien postuló que la diferencia de fecha sería mayor a 1 año. A menos que uno esté planeando regresar a un tiempo mucho antes de que las fechas exactas puedan derivarse de manera útil (miles de años), ese no es el caso. La diferencia necesaria para ambas fechas julianas y las fechas gregorianas es solo un pequeño número de días, ciertamente menos de 3 semanas para cualquier fecha específica que razonablemente se podría tratar de obtener de registros históricos existentes. Hay tablas de conversión para este propósito. Creo que el mayor problema proviene de la conversión al calendario gregoriano.

Diferentes países se convirtieron en diferentes momentos y perdieron diferentes números de días cuando se convirtieron porque no se convirtieron al mismo tiempo. Para obtener un ejemplo de cómo se produjo la conversión, imagine que hoy es el 1 de octubre y que mañana será el 10 de octubre. En ese escenario, la conversión daría lugar a una pérdida de 9 días en ese país en particular. Otro país que se convirtió algún tiempo después puede haber perdido 11 días, o 12 días, o 13 días, etc. Otro gran problema sería tratar de obtener la temporada en una fecha determinada. Debido a los calendarios inexactos, la precesión de los equinoccios dio como resultado una progresión algo rápida de las temporadas durante el año calendario en el tiempo. Hoy tenemos verano en el hemisferio norte durante el mes de julio. Hace 3000 años, este mes calendario puede haber ocurrido durante la mitad del invierno si estamos usando el calendario juliano como nuestro estándar.

También es importante tener en cuenta que una gran variedad de sistemas de calendario antiguos se utilizaron en el mundo antiguo. Ambas variedades solares y lunares existieron y no hubo un intento realista de estandarización hasta hace unos 2000 años (cuando se inventó el calendario juliano). La gente con frecuencia trata de proyectar las fechas de Julian mucho más atrás en la historia, pero esos esfuerzos son anacrónicos. Debido a la incertidumbre causada por los registros incoherentes, no es posible determinar un evento particular ocurrido en una fecha específica correlacionada con el calendario juliano, excepto en una forma redonda que implica un margen de error bastante grande. Para un evento que ocurre antes del primer milenio antes de Cristo, ese margen de error puede ser de 50 o 100 años (o más en ciertos períodos). Simplemente no tenemos los registros para establecer una línea de tiempo extremadamente precisa. Las fechas de carbono derivadas de secuencias de anillos de árbol correlacionadas con registros existentes han ayudado a reducir el margen de error en varias regiones y períodos, pero no componen un registro completamente conectado y siempre tendremos un margen de error para tratar.