Estou recuperando dois valores de data e hora do banco de dados. Depois que o valor é recuperado, preciso da diferença entre os dois valores. Para isso, crio uma variável de período para armazenar a diferença dos 2 valores de data.
TimeSpan? variable = datevalue1 - datevalue2;
Agora eu preciso mostrar a diferença que é armazenada na variável Timespan em termos de número de horas. I referido TimeSpan.TotalHours mas não poderia aplicar o mesmo por algum motivo. Como faço isso? Estou usando c # em um projeto MVC. Eu simplesmente preciso mostrar o valor da diferença em horas?
EDIT: Como o período de tempo era anulável, não era possível usar a propriedade total de horas. Agora eu posso usá-lo fazendo TimeSpanVal.Value.TotalHours ;
c#
asp.net-mvc-2
datetime
timespan
reggie
fonte
fonte
TimeSpan.TotalHours
?.Value.TotalHours
Respostas:
Acho que você está confuso porque não declarou um
TimeSpan
que declarou umTimeSpan?
que é anulávelTimeSpan
. Remova o ponto de interrogação se você não precisar que seja nulo ou usevariable.Value.TotalHours
.fonte
você também pode querer olhar
fonte
No exemplo, estamos criando dois objetos de data e hora, um com horário atual e outro com 75 segundos adicionados ao horário atual. Em seguida, chamaremos o método .Subtract () no segundo objeto DateTime. Isso retornará um objeto TimeSpan. Depois de obter o objeto TimeSpan, podemos usar as propriedades do TimeSpan para obter as horas, minutos e segundos reais.
Resultado:
fonte
TotalSeconds
,TotalMinutes
etcExiste algum motivo para você estar usando
Nullable
?Se você quiser usar
Nullable
, pode escrevervariable.Value.TotalHours
.Ou você pode simplesmente escrever:
(datevalue1 - datevalue2).TotalHours
.fonte
DateTime?
DateTime
. No .NETDateTime - DateTime = TimeSpan
,.Nullable<DateTime>
e, portanto, você recebe umNullable<TimeSpan>
.Aqui está outro exemplo de subtração de duas datas em C # ...
fonte
uma maneira mais precisa de horas pagas por funcionário ou outro requisito de precisão :
https://dotnetfiddle.net/tVIoVJ
fonte
também podemos adicionar diferença entre as datas se compararmos duas datas diferentes
fonte
WOW, eu tenho que dizer: seja simples:
e:
O objeto DateTime possui toda a lógica interna para manipular o resultado booleano.
fonte