如何得到昨天和明天datetime在C#

我有一个代码:

int MonthNow = System.DateTime.Now.Month; int YearNow = System.DateTime.Now.Year; int DayNow = System.DateTime.Now.Day; 

我怎样才能在C#中获得昨天和明天的日月年?

当然,我可以写:

 DayTommorow = DayNow +1; 

但明天可能是其他月份或年份。 有没有在C#内置的工具来找出昨天和今天?

您可以在API参考中find此信息。

 var today = DateTime.Now; var tomorrow = today.AddDays(1); var yesterday = today.AddDays(-1); 
 DateTime tomorrow = DateTime.Now.AddDays(1); DateTime yesterday = DateTime.Now.AddDays(-1); 

今天:

DateTime.Today

明天:

 DateTime.Now.AddDays(1) 

昨天:

 DateTime.Now.AddDays(-1) 

你想要DateTime.Today.AddDays(1)

使用DateTime.AddDays() ( MSDN文档DateTime.AddDays方法 )。

 DateTime tomorrow = DateTime.Now.AddDays(1); DateTime yesterday = DateTime.Now.AddDays(-1); 

你应该这样做,如果你想在昨天和明天00:00:00获得:

 DateTime yesterday = DateTime.Today.AddDays(-1); DateTime tomorrow = DateTime.Today.AddDays(1); // Output example: 6. 02. 2016 00:00:00 

只要记住,如果你这样做:

 DateTime yesterday = DateTime.Now.AddDays(-1); DateTime tomorrow = DateTime.Now.AddDays(1); // Output example: 6. 02. 2016 18:09:23 

那么你会得到当前时间减去一天,而不是在昨天00:00:00时间。

诀窍是使用“date时间”来操纵date; 只有当你需要从date的“最终结果”时才使用整数和string。

例如(伪代码):

  1. 获取“DateTime明天=现在+ 1”

  2. 确定结果date的date,星期几,月中的哪一天 – 无论您想要什么。