Io prendere la differenza tra due campi DateTime, e memorizzarlo in una variabile TimeSpan, Ora devo arrotondare-off il TimeSpan dalle seguenti norme:Come gestire l'arrotondamento TimeSpan?
se i minuti in TimeSpan è inferiore a 30 poi Minuti e Secondi deve essere impostato su zero,
se i minuti in TimeSpan sono uguali o maggiori di 30, quindi le ore devono essere incrementate di 1 e Minuti e Secondi devono essere impostati su zero.
TimeSpan può anche essere un valore negativo, quindi in questo caso ho bisogno di conservare il segno ..
potrei essere in grado di raggiungere il requisito se il TimeSpan non era un valore negativo, anche se ho scritto un codice non mi soddisfa con la sua inefficienza in quanto è più ingombrante ..
Si prega di suggerire un metodo più semplice ed efficiente.
Grazie saluti,
Questo è il mio codice che funziona bene, quando non è TimeSpan valore negativo ..
TimeSpan time_span = endTime.Subtract(startTime);
TimeSpan time_span1;
if (time_span.Minutes >= 30)
{
time_span1 = new TimeSpan(time_span.Hours + 1, 0, 0);
}
else
{
time_span1 = new TimeSpan(time_span.Hours, 0, 0);
}
time_span1 conterrà il risultato ..
Mostraci il codice che avete, si prega di –
Perché non condividere il codice come base per iniziare? –
@josh, @Frank, ya sicuro .. –