Não quero que o usuário indique a data ou hora atrasada.
Como posso comparar se a data e hora inseridas são MENOS e a hora atual?
Se a data e a hora atuais forem 17 de junho de 2010, 12:25, desejo que o usuário não possa fornecer a data antes de 17 de junho de 2010 e a hora antes das 12:25.
Como minha função, retorne false se o horário digitado pelo usuário for 16 de junho de 2010 e o horário 12:24
A Microsoft também implementou os operadores '<' e '>'. Então você as usa para comparar duas datas.
fonte
date1.ToLocalTime() < DateTime.Now
oudate1.ToUniversalTime() < DateTime.UtcNow
.A resposta do MuSTaNG diz tudo, mas ainda estou adicionando para torná-lo um pouco mais elaborado, com links e tudo.
Os operadores convencionais
>
) ,<
) ,==
) ,estão disponíveis
DateTime
desde o .NET Framework 1.1. Além disso, a adição e subtração deDateTime
objetos também são possíveis usando operadores convencionais+
e-
.Um exemplo do MSDN:
Igualdade:Outros operadores podem ser usados da mesma forma.
Aqui está a lista para a qual todos os operadores estão disponíveis
DateTime
.fonte
+
para doisDateTime
operandos, Você pode fazerDateTime - DateTime
, ouDateTime + TimeSpan
, ouDateTime - TimeSpan
.Em geral, você precisa comparar
DateTimes
com o mesmoKind
:Explicação do MSDN sobre
DateTime.Compare
(Isto também é relevante para os operadores como>
,<
,==
e etc.):Assim, uma comparação simples pode dar um resultado inesperado ao lidar com o
DateTimes
que é representado em fusos horários diferentes.fonte
Se você tiver dois DateTime com a mesma aparência, mas Compare ou Igual não retornam o que você espera, é assim que compará-los.
Aqui está um exemplo com precisão de 1 milissegundo:
fonte
fonte
DateTime
nãostring
Aqui está um exemplo simples e típico do ambiente da Unity
fonte
fonte