comparar horas, fechas..... C# (solucionado)

Iniciado por skan, 14 Noviembre 2008, 14:41 PM

0 Miembros y 1 Visitante están viendo este tema.

skan

Buenas
Estoy empezando con el C#.
Y estaba comprobando como utililzar algunos métodos para comparar horas....
Quisiera hacer algo así:

Console.WriteLine(DateTime.Compare(DateTime.Now.TimeOfDay,15:30));

pero ese 15:30 da error,  ¿Cómo ser lo pongo?

(eso sólo era un ejemplo muy simple para ver que resultado da)

He intentado buscar ejemplos de manipulación de ese tipo de datos pero no encuentro

Gracias

BandidoOFF

Prueba de la siguiente forma:

int nHoraInicial = Convert.ToInt32(DateTime.Now.Date.ToString("HHmm"));
int nHoraFinal = 1530;

if(nHoraInicial == nHoraFinal )
{}
else
{}
Entre mas se, mas dudas tengo.

jpablo_eguivarr

#2
 ;D Bueno espero q les agrede mi receta yo lo hice asi para comparar dos fecha
las mismas estan definidas como cadenas tienen el formato 00:00.
;D
/// <summary>
        /// Compara dos fechas (formato fecha 00:00) retorna los siguientes valores:
        /// <br>0 igual</br>
        /// <br>1 menor</br>
        /// <br>2 mayor</br>
        /// </summary>
        /// <param name="fecha">Fecha a comparar con fecha1</param>
        /// <param name="fecha1">Fecha Con la que se compara</param>
        /// <returns></returns>
        static public int comparar_fechas(string fecha , string fecha1)
        {
            int hh = Convert.ToInt32(fecha.Substring(0, 2));
            int mm = Convert.ToInt32(fecha.Substring(3, 2));

            int hh1 = Convert.ToInt32(fecha1.Substring(0, 2));
            int mm1 = Convert.ToInt32(fecha1.Substring(3, 2));

            if (hh == hh1)
            {
                if (mm == mm1) return 0;
                else {
                    if (mm > mm1) return 2;
                    else return 1;
                }                   
            }
            else {
                if (hh > hh1)   return 2;               
                else             return 1;
            }
        }

int n=comparar_fechas("07:45", "07:49");  // devuelve 1   07:45 < 07:49
n = comparar_fechas("09:45", "07:49");   //devuelve 2     09:45 > 07:49


las modificaciones se pueden  realizar el formato 00:00:00 aumentando las definiciones int ss; luego extraer el segundo y realizar la misma comparacion dentro el if que compara los minutos. y listo  ;D  >:D  :laugh:
PAra cualquier sugerencia escriban a mi email  :Djpablo_eguivarr@hotmail.com

skan

Gracias
Ya no hace falta que contesteis más, ya he hecho pruebas varias.
El problema es que mezclaba cosas de tipo TimeSpan con DateTime