El problema es más abstracto. Como ya se mencionó, en .NET hay dos tipos: DateTime
y TimeSpan
. El tipo DateTime
representa un punto específico en el tiempo. No es un intervalo de tiempo. Es un lugar específico en todo tiempo desde el nacimiento del Universo. Incluso si establece los componentes año/mes/día en 0, aún representará algún punto absoluto en el tiempo. No es un período de tiempo.
El TimeSpan
por el contrario representa un cierto intervalo. 1 minuto, 2 días, lo que sea. No se especifica CUÁNDO, CUÁNTO CUÁNDO.
Así que si usted fuera a restar dos objetos DateTime que se obtendría un objeto TimeSpan que especifica la cantidad de tiempo que hay entre ellos. Y si agrega un TimeSpan a DateTime, obtiene otro DateTime. Pero no puede agregar un DateTime a otro DateTime, eso no tendría sentido.
Me parece que debería estar trabajando con TimeSpan
s todo el tiempo, porque se trata de largos períodos de tiempo, no puntos absolutos en el tiempo. Si obtiene estas longitudes de su fuente como DateTime, entonces eso no es correcto, y debería convertirlas a TimeSpan
s de alguna manera. El método de análisis sintáctico es una forma que se ha sugerido, pero también puede tratar de restar DateTime
de él. Eso podría ser más rápido y más independiente de la cultura.
Hola, por desgracia, de su ejemplo, no está claro lo que está después es la razón por la que todavía no hay una buena respuesta. Si tratas de mostrar un poco más del código que tienes, o das un breve resumen de lo que estás haciendo realmente, entonces alguien puede ayudarte. –
pregunta de plzsendtehcodez. (Consulte "Necesito su algoritmo genial" y su posterior "respuesta"). –