我正在尝试开发一个工具来帮助我制定工作计划。解决以下问题的最简单方法是什么?
等等。
DateTime.Add(TimeSpan)
来完成,因为它支持正负时间跨度。
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));
DateTime.Subtract(TimeSpan)
方法。
在此处查看所有 DateTime 方法:http://msdn.microsoft.com/en-us/library/system.datetime.aspx
返回一个新的 DateTime,它将指定 TimeSpan 的值添加到此实例的值。Add
返回一个新的 DateTime,将指定的天数添加到此实例的值。AddDays
返回一个新的 DateTime,将指定的小时数添加到此实例的值。AddHours
返回一个新的 DateTime,它将指定的毫秒数添加到此实例的值。AddMilliseconds
返回一个新的 DateTime,将指定的分钟数添加到此实例的值。AddMinutes
返回一个新的 DateTime,将指定的月数添加到此实例的值。AddMonths
返回一个新的 DateTime,它将指定的秒数添加到此实例的值。AddSeconds
返回一个新的 DateTime,它将指定的刻度数添加到此实例的值。AddTicks
返回一个新的 DateTime,将指定的年数添加到此实例的值。AddYears
嗨,如果您只想从 DateTime 中减去整数值,那么您必须编写这样的代码
DateTime.Now.AddHours(-2)
这里我从当前日期和时间减去 2 小时
这也有效:
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;
减去一年:
DateTime DateEnd = DateTime.Now;
DateTime DateStart = DateEnd - new TimeSpan(365, 0, 0, 0);
使用 TimeSpan 对象捕获初始时间元素并使用
AddHours
或 AddMinutes
等方法。减去 3 小时,你会做AddHours(-3)
。减去 45 分钟,你会做AddMinutes(-45)
试试这个
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());
}
}
}
原始日期时间 = 新日期时间(年、月、日、8、0、0); 更新日期时间 = 原始.Add(new TimeSpan(5,0,0));
原始日期时间 = 新日期时间(年,月,日,17,0,0); 更新日期时间 = 原始.Add(new TimeSpan(-2,0,0));
原始日期时间 = 新日期时间(年、月、日、17、30、0); 更新日期时间 = 原始.Add(new TimeSpan(0,-45,0));
TimeLeftToOpen= new TimeSpan(TimeLeftToOpen.Hours, TimeLeftToOpen.Minutes, TimeLeftToOpen.Seconds - 1);