No quiero que el usuario dé la fecha u hora de regreso.
¿Cómo puedo comparar si la fecha y hora ingresadas son MENORES que la hora actual?
Si la fecha y hora actuales son el 17 de junio de 2010, 12:25 p.m., quiero que el usuario no pueda dar la fecha antes del 17 de junio a 2010 y la hora antes de las 12:25 p.m.
Al igual que mi función, devuelve falso si la hora ingresada por el usuario es el 16 de junio de 2010 y la hora 12:24 p.m.
Microsoft también ha implementado los operadores '<' y '>'. Entonces los usas para comparar dos fechas.
fuente
date1.ToLocalTime() < DateTime.Now
odate1.ToUniversalTime() < DateTime.UtcNow
.La respuesta de MuSTaNG lo dice todo, pero todavía lo estoy agregando para hacerlo un poco más elaborado, con enlaces y todo.
Los operadores convencionales
>
) ,<
) ,==
) ,están disponibles
DateTime
desde .NET Framework 1.1. Además, la suma y resta deDateTime
objetos también es posible utilizando operadores convencionales+
y-
.Un ejemplo de MSDN:
Igualdad:Otros operadores pueden ser utilizados de la misma manera.
Aquí está la lista para todos los operadores disponibles
DateTime
.fuente
+
dosDateTime
operandos, puede hacerDateTime - DateTime
, oDateTime + TimeSpan
, oDateTime - TimeSpan
.En general caso necesita comparar
DateTimes
con el mismoKind
:Explicación de MSDN sobre
DateTime.Compare
(Esto también es relevante para operadores como>
,<
,==
y etc.):Por lo tanto, una comparación simple puede dar un resultado inesperado cuando se trata de
DateTimes
que se representan en diferentes zonas horarias.fuente
Si tiene dos DateTime que se ven iguales, pero Compare or Equals no devuelve lo que esperaba, esta es la forma de compararlos.
Aquí un ejemplo con precisión de 1 milisegundo:
fuente
fuente
DateTime
nostring
Aquí hay un ejemplo simple típico en el entorno de Unity
fuente
fuente