Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: skan en 14 Noviembre 2008, 14:41 pm



Título: comparar horas, fechas..... C# (solucionado)
Publicado por: skan en 14 Noviembre 2008, 14:41 pm
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


Título: Re: comparar horas, fechas..... C#
Publicado por: BandidoOFF en 14 Noviembre 2008, 22:20 pm
Prueba de la siguiente forma:

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

if(nHoraInicial == nHoraFinal )
{}
else
{}


Título: comparar horas, fechas..... C#
Publicado por: jpablo_eguivarr en 23 Noviembre 2008, 05:33 am
 ;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


Título: Re: comparar horas, fechas..... C#
Publicado por: skan en 24 Noviembre 2008, 10:42 am
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