Foros del Web » Programación para mayores de 30 ;) » .NET »

Una de fechas

Estas en el tema de Una de fechas en el foro de .NET en Foros del Web. Buenas, Pues me ha surgido un problemilla con las fechas en visual C#, en concreto cuando comparo dos fechas, por ejemplo las cuatro de la ...
  #1 (permalink)  
Antiguo 29/03/2006, 02:37
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Una de fechas

Buenas,

Pues me ha surgido un problemilla con las fechas en visual C#, en concreto cuando comparo dos fechas, por ejemplo las cuatro de la tarde(16:00) con las doce de la noche(0:00), ya que si yo hago:

DateTime noche=new DateTime (System.DateTime.Now.Year,System.DateTime.Now.Mont h,System.DateTime.Now.Day,0,0,0);//

if(System.DateTime.Now<(DateTime)noche)
nidFranja=1;

Siendo el System.DateTime.Now las 4 de la tarde, o las 8 de la tarde...., ya que yo entiendo que lo que haces es SI 16<0

Entonces habia pensado ponerle las 23:59:59, pero claro estamos en las mismas ya que luego necesito comparar las 8 de la mañana entonces me compararía las 23 con 8 y me daria lo mismo

Alguna idea?¿

GRACIAS
  #2 (permalink)  
Antiguo 29/03/2006, 03:07
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Explícate un poco mejor kakarot. Cuál es el problema exactamente?
Para comparar si una hora es mayor o menor que otra, hay funciones como DateDiff, que por ejemplo en tu caso, podrías pasarle DateTimes con la misma fecha ("01/01/1900") y con la hora que quieras comparar. Te devolvería la diferencia entre las Horas, ya que la fecha es la misma.
O no te refieres a eso...
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 29/03/2006, 04:04
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
montezion, gracias pero en visual C# no aparece esa función, lo q quiero hacer es exactamente eso, comparar dos horas y saber cual es más grande.

De momento ya lo he solucionado, pero no me acaba de convencer

Gracias
  #4 (permalink)  
Antiguo 29/03/2006, 04:36
 
Fecha de Ingreso: julio-2005
Mensajes: 103
Antigüedad: 18 años, 9 meses
Puntos: 0
Has probado con DateTime.Substract o con el DateTime.op_Subtraction?

Creo que te podría servir para lo que tu necesitas!! De modo que te da los días, horas, minutos y segundos de diferencia.

Código:
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);

// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);

// diff2 gets -185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);
Prueba si te vale, y nos comentas!!

Un saludo
  #5 (permalink)  
Antiguo 30/03/2006, 00:25
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
oriopitufa, pues ya lo probe antes de preguntar :D, pero el problema es q le pasas un datetime y no me era válido, pero bueno gracias a todos por vuestra ayuda, lo solución con dos vbles booleanas y listos(vamos casi por descarte) no es una buena opción pero de momento es efectiva

Saludos y gracias de nuevo
  #6 (permalink)  
Antiguo 30/03/2006, 10:10
 
Fecha de Ingreso: agosto-2005
Mensajes: 722
Antigüedad: 18 años, 8 meses
Puntos: 2
hola amigos no si podrian explicarme o darme alguna sujerencia de funciones para comparar fechas como DateDiff,donde puedo encontrar referencia de ellas y decripciones y librerias, bueno y otras funciones utiles, se los agradesco mucho
grasis
  #7 (permalink)  
Antiguo 30/03/2006, 10:59
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Hola Alfil

Acá podes ver algo de ayuda de esa función:

http://msdn2.microsoft.com/es-es/library/ms189794.aspx

Suerte!!
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:37.