我想找到从现在起x小时和x分钟之前的确切日期和时间。
例如 - 今天是2/21/2016 1:15 PM
,我想知道13小时56分钟或73小时34分钟之前的时间。
在C#中最简单的方法是什么?
我找到this link,但不确切知道如何使用它。
答案 0 :(得分:3)
使用AddHours()
和AddMinutes()
。也可以使用负值来回溯。
示例:
DateTime pastDate = DateTime.Now.AddHours(-74).AddMinutes(-34);
答案 1 :(得分:1)
示例:
int d = 0;
int h = -13;
int m = -56;
int s = 0;
DateTime past = DateTime.Now.AddDays(d).AddHours(h).AddMinutes(m).AddSeconds(s);
或者,简而言之:
DateTime past = DateTime.Now.AddHours(-13).AddMinutes(-56);
这会给你13小时56分钟前的时间。注意小时和分钟的减号,它们用于减去一定的时间。
查看DateTime
及其所有方法,以Add
开头。
答案 2 :(得分:1)
为了完整起见,您还可以在DateTime对象上使用TimeSpan操作。
像
这样的东西DateTime d = ...;
DateTime newDate = d - new TimeSpan(....);
答案 3 :(得分:0)
您可以轻松使用DateTime.AddXXX
methods。
例如;
var dt1 = DateTime.Now.AddHours(-13).AddMinutes(-56);
或
var dt1 = DateTime.Now.AddHours(-73).AddMinutes(-34);
如果您想仅使用 日期或时间部分的结果,您可以使用Date
或TimeOfDay
属性。
var date = dt1.Date;
或
var time = dt1.TimeOfDay;