restar - sumar dias a un datetimepicker c#
C#: ¿cuál es la forma más fácil de restar tiempo? (5)
Consulte todos los métodos DateTime aquí: http://msdn.microsoft.com/en-us/library/system.datetime.aspx
Add
Devuelve un nuevo DateTime que agrega el valor del TimeSpan especificado al valor de esta instancia.
AddDays
Devuelve un nuevo DateTime que agrega el número especificado de días al valor de esta instancia.
AddHours
Devuelve un nuevo DateTime que agrega la cantidad especificada de horas al valor de esta instancia.
AddMilliseconds
Devuelve un nuevo DateTime que agrega la cantidad especificada de milisegundos al valor de esta instancia.
AddMinutes
Devuelve un nuevo DateTime que agrega la cantidad de minutos especificada al valor de esta instancia.
AddMonths
Devuelve un nuevo DateTime que agrega el número especificado de meses al valor de esta instancia.
AddSeconds
Devuelve un nuevo DateTime que agrega el número especificado de segundos al valor de esta instancia.
AddTicks
Devuelve un nuevo DateTime que agrega el número especificado de tics al valor de esta instancia.
AddYears
Devuelve un nuevo DateTime que agrega la cantidad de años especificada al valor de esta instancia.
Estoy tratando de armar una herramienta que me ayude a hacer los horarios de trabajo. ¿Cuál es la forma más fácil de resolver lo siguiente?
8:00 a.m. + 5 horas = 1:00 p.m.
y
5:00 p.m. - 2 horas = 3:00 p.m.
y
5:30 p.m. -: 45 = 4:45
y así.
Esto también funciona:
System.DateTime dTime = DateTime.Now();
// tSpan is 0 days, 1 hours, 30 minutes and 0 second.
System.TimeSpan tSpan = new System.TimeSpan(0, 1, 3, 0);
System.DateTime result = dTime + tSpan;
Para restar un año:
DateTime DateEnd = DateTime.Now;
DateTime DateStart = DateEnd - new TimeSpan(365, 0, 0, 0);
Utilice el objeto TimeSpan para capturar su elemento de tiempo inicial y use los métodos como AddHours
o AddMinutes
. Para restar 3 horas, harás AddHours(-3)
. Para restar 45 minutos, hará AddMinutes(-45)
prueba esto
namespace dateandtime
{
class DatesTime
{
public static DateTime Substract(DateTime now, int hours,int minutes,int seconds)
{
TimeSpan T1 = new TimeSpan(hours, minutes, seconds);
return now.Subtract(T1);
}
static void Main(string[] args)
{
Console.WriteLine(Substract(DateTime.Now, 36, 0, 0).ToString());
}
}
}
Todo esto se puede hacer con DateTime.Add(TimeSpan)
ya que admite timespans positivos y negativos.
DateTime original = new DateTime(year, month, day, 8, 0, 0);
DateTime updated = original.Add(new TimeSpan(5,0,0));
DateTime original = new DateTime(year, month, day, 17, 0, 0);
DateTime updated = original.Add(new TimeSpan(-2,0,0));
DateTime original = new DateTime(year, month, day, 17, 30, 0);
DateTime updated = original.Add(new TimeSpan(0,45,0));
O también puede usar el método DateTime.Subtract(TimeSpan)
forma análoga.