CLR: .Net / Mono / Boo / Otros CLR > C#
Sumar y restar fechas en C#
trogua_z:
Disculpen amigos tal vez alguien me pueda explicar como trabajar con este tipo de codigos.
La cuestion es esta, tengo que obtener el salario bruto de un empleado temporal, para sacar dicho salario es necesario escribir la fecha en que ingreso a la empresa y la fecha en que salio, luego debo investigar cuantas semanas trabajo el empleado en ese lapso de tiempo. Estoy creando esta aplicacion en window form por lo que e puesto 2 Masket text box con mask de fecha (que creo que me fasilita un poco las cosas).
Ahora la trama esta en ¿como puedo yo restar la fecha de salida a la fecha de entrada? :brickwall:
Se que tiene que ver con un codigo llamado Data Timer pero ya le intente acomodar y nada.
ProfesorX:
--- Cita de: "trogua_z" ---Se que tiene que ver con un codigo llamado Data Timer pero ya le intente acomodar y nada.
--- Fin de la cita ---
Creo que no lo lograras, porque no se hace con Data Timer, sino con la clase DateTime
A continuacion un pequeño ejemplo que obtiene los dias transcurridos entre dos fechas que tienen un año de diferencia, o sea que da como resultado 365.
--- Código: C# --- using System; namespace ConsoleApplication1{ class Program { static DateTime fecha1 = new DateTime(2000, 12, 1); static DateTime fecha2 = new DateTime(2001, 12, 1); static TimeSpan tiempoTranscurrido; static void Main(string[] args) { tiempoTranscurrido = fecha2.Subtract(fecha1); Console.WriteLine(tiempoTranscurrido.Days); } }} Saludos :)
trogua_z:
Upss si tenes razon esq lo escribi mal, pero dime es posible que el usuario pueda elegir la fecha,
es decir puedo poner 2 variables, una que capture la primer fecha y otra que calcule la otra fecha, en ese caso es posible escribir:
--- Código: C# --- static DateTime fecha1 = new DateTime(variable1);static DateTime fecha2 = new DateTime(variable2);
¿Mmm que me dices?
ProfesorX:
Es posible, pero no directamente como lo estas haciendo, si te fijas, la funcion DateTime recibe parametros de tipo entero, asi que hay que extraer los valores y convertirlos a tipo entero.
Te pongo un ejemplo, suponiendo que la fecha la tienes en una variable con el formato dd/mm/aaaa
--- Código: C# --- // Formato de la cadena dd/mm/aaaafechaCad = "28/11/2009";fecha = new DateTime(Convert.ToInt32(fechaCad.Substring(6, 4)), Convert.ToInt32(fechaCad.Substring(3, 2)), Convert.ToInt32(fechaCad.Substring(0, 2)));
Ese trozo de codigo es el que utilizo para compara mis cadenas que he leido de un textbox ;)
Si utilizas un formato de fecha diferente, por ejemplo aaaa/mm/dd, deberas modificar los parametros que le pasas a Substring()
Saludos :)
trogua_z:
Ok compañero gracias por la información, lo intentare como tu dices. :beer:
Navegación
[#] Página Siguiente
Ir a la versión completa