【发布时间】:2010-10-22 01:20:08
【问题描述】:
我正在尝试组合一个工具来帮助我制定工作时间表。解决以下问题的最简单方法是什么?
- 上午 8:00 + 5 小时 = 下午 1:00
- 下午 5:00 - 2 小时 = 下午 3:00
- 下午 5:30 - :45 = 4:45
等等。
【问题讨论】:
我正在尝试组合一个工具来帮助我制定工作时间表。解决以下问题的最简单方法是什么?
等等。
【问题讨论】:
这些都可以通过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 中减去 Integer 值,那么您必须编写这样的代码
DateTime.Now.AddHours(-2)
这里我从当前日期和时间中减去 2 小时
【讨论】:
使用 TimeSpan 对象捕获您的初始时间元素,并使用 AddHours 或 AddMinutes 等方法。要减去 3 小时,您将执行 AddHours(-3)。减去 45 分钟,你会做AddMinutes(-45)
【讨论】:
Use the TimeSpan object to capture your initial time element - 你是说DateTime吗?
在此处查看所有 DateTime 方法:http://msdn.microsoft.com/en-us/library/system.datetime.aspx
Add返回一个新的 DateTime,它将指定 TimeSpan 的值与此实例的值相加。
AddDays返回一个新的 DateTime,它将指定的天数添加到此实例的值中。
AddHours返回一个新的 DateTime,它将指定的小时数添加到此实例的值中。
AddMilliseconds返回一个新的 DateTime,它将指定的毫秒数添加到此实例的值中。
AddMinutes返回一个新的 DateTime,它将指定的分钟数添加到此实例的值中。
AddMonths返回一个新的 DateTime,它将指定的月数添加到此实例的值中。
AddSeconds返回一个新的 DateTime,它将指定的秒数添加到此实例的值中。
AddTicks返回一个新的 DateTime,它将指定的刻度数添加到此实例的值中。
AddYears返回一个新的 DateTime,它将指定的年数添加到此实例的值中。
【讨论】:
这也有效:
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());
}
}
}
【讨论】: