C# 最简单的时间减法是什么?
我正在尝试组合一个工具来帮助我制定工作计划。解决以下问题的最简单方法是什么 上午8:00+5小时=下午1:00 及 下午5:00-2小时=下午3:00 及 下午5:30-:45=4:45C# 最简单的时间减法是什么?,c#,datetime,math,timespan,C#,Datetime,Math,Timespan,我正在尝试组合一个工具来帮助我制定工作计划。解决以下问题的最简单方法是什么 上午8:00+5小时=下午1:00 及 下午5:00-2小时=下午3:00 及 下午5:30-:45=4:45 等等 这些都可以用来完成,因为它支持正时间跨度和负时间跨度 DateTime original = new DateTime(year, month, day, 8, 0, 0); DateTime updated = original.Add(new TimeSpan(5,0,0)); DateTime o
等等 这些都可以用来完成,因为它支持正时间跨度和负时间跨度
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方法:
Add
返回一个新的日期时间,该日期时间将指定时间跨度的值添加到此实例的值
AddDays
返回一个新的日期时间,将指定的天数添加到此实例的值中
AddHours
返回一个新的日期时间,将指定的小时数添加到此实例的值
addmillizes
返回一个新的日期时间,将指定的毫秒数添加到此实例的值
AddMinutes
返回一个新的日期时间,将指定的分钟数添加到此实例的值
AddMonths
返回一个新的日期时间,将指定的月数添加到此实例的值
AddSeconds
返回一个新的日期时间,将指定的秒数添加到此实例的值
AddTicks
返回一个新的日期时间,将指定数量的ticks添加到此实例的值中
AddYears
返回一个新的日期时间,将指定的年数添加到此实例的值
使用TimeSpan对象捕获初始时间元素,并使用
AddHours
或AddMinutes
等方法。要减去3小时,您将执行AddHours(-3)
。要减去45分钟,您将执行AddMinutes(-45)
此操作也有效:
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);
试试这个
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());
}
}
}
嗨,若你们想从DateTime中只减去整数值,那个么你们必须这样写代码
DateTime.Now.AddHours(-2)
在这里,我从当前日期和时间中减去2小时好的,那么我错在哪里了。我添加了一个datetimepicker,并将其值赋给datetime变量。现在数学方法没有显示出来up@Sinaesthetic-可能值得发布一些代码,这是一个与日期时间略有不同的问题arithmetic@Sinaesthetic当您使用DateTimePicker时,请记住它可以显示一天中的日期或时间,但会维护一个由这两者组成的值。。。如果使用Value属性,可能需要先减去一个或另一个分量。在第三个示例中,OP想要减去45分钟,为什么在这个答案中我没有看到负值?这是一个错误吗?是的,感谢您发现
使用TimeSpan对象捕获您的初始时间元素
-您的意思是日期时间
?我指的是System.TimeSpan类型,但初始时间是一个瞬间,例如8:00pm,而不是一个时间跨度,例如45分钟。(也很抱歉,我刚刚意识到这是一篇多么古老的帖子。)但这就是我的意思。您将为上午8点编写ts=new TimeSpan(8,0,0)或为晚上8点编写ts=new TimeSpan(20,0,0),然后您将执行ts.AddMinutes(45)Eh。。。如果你真的不在乎日期,我想这也行,但这在语义上不是timespan所代表的,它确实会提高你的评级。对于所有涉及到这一点的人:你可以使用上面的函数并使用负值进行减法,只要实例没有初始化为DateTime.MinValue