Il problema è più astratto. Come già accennato, in .NET ci sono due tipi: DateTime
e TimeSpan
. Il tipo DateTime
rappresenta un punto specifico nel tempo. Non è un intervallo di tempo. È un luogo specifico in ogni momento dalla nascita dell'Universo. Anche se si impostano i componenti anno/mese/giorno su 0, rappresenterà comunque un punto assoluto nel tempo. Non un periodo di tempo.
Il TimeSpan
rappresenta invece un intervallo. 1 minuto, 2 giorni, qualunque cosa. Non è specificato QUANDO, QUANTO TEMPO.
Quindi, se si dovesse sottrarre due oggetti DateTime si otterrebbe un oggetto TimeSpan che specifica quanto tempo c'è tra di loro. E se aggiungi un TimeSpan a un DateTime ottieni un altro DateTime. Ma non è possibile aggiungere un DateTime ad un altro DateTime - questo non avrebbe senso.
Mi sembra che dovresti lavorare con TimeSpan
s tutto il tempo, perché hai a che fare con tempi lunghi, non con punti assoluti nel tempo. Se ottieni queste lunghezze dalla tua sorgente come DateTime, in realtà non è corretto, e dovresti convertirli in qualche modo in TimeSpan
s. Il metodo di analisi è un modo suggerito, ma potresti anche provare a sottrarre lo zero DateTime
da esso. Potrebbe essere più veloce e più indipendente dalla cultura.
fonte
2009-02-04 11:58:55
Ciao, purtroppo dal vostro esempio non è chiaro che cosa siete dopo, che è il motivo per cui non esiste ancora una buona risposta. Se provi a mostrare un po 'di più del codice che hai, o fornisci una breve descrizione di ciò che stai facendo, qualcuno potrebbe essere in grado di aiutarti. –
domanda plzsendtehcodez. (Vedi "Ho bisogno del tuo algoritmo fico" e la sua "risposta" successiva). –