如何在x小时和分钟之前计算日期和时间?

时间:2016-02-21 12:17:51

标签: c# time subtraction

我想找到从现在起x小时和x分钟之前的确切日期和时间。

例如 - 今天是2/21/2016 1:15 PM,我想知道13小时56分钟或73小时34分钟之前的时间。 在C#中最简单的方法是什么?

我找到this link,但不确切知道如何使用它。

4 个答案:

答案 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);

如果您想仅使用 日期或时间部分的结果,您可以使用DateTimeOfDay属性。

var date = dt1.Date;

var time = dt1.TimeOfDay;