web-dev-qa-db-fra.com

comment arriver hier et demain datetime en c #

J'ai un code:

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

Comment puis-je obtenir hier et demain jour, mois et année en C #?

Bien sûr, je peux juste écrire:

DayTommorow = DayNow +1;

mais il se peut que demain soit un autre mois ou une autre année. Existe-t-il dans C # des outils intégrés permettant de découvrir hier et aujourd'hui?

81
tbsasa

Vous pouvez trouver cette information directement dans le référence de l'API .

var today = DateTime.Now;
var tomorrow = today.AddDays(1);
var yesterday = today.AddDays(-1);
92
Tabrez
DateTime tomorrow = DateTime.Now.AddDays(1);
DateTime yesterday = DateTime.Now.AddDays(-1);
156
Erik Larsson

Aujourd'hui :

DateTime.Today

Demain :

DateTime.Now.AddDays(1)

Hier:

DateTime.Now.AddDays(-1)
16
aleroot

Vous voulez DateTime.Today.AddDays(1).

15
SLaks

Vous devriez le faire de cette façon, si vous voulez avoir hier et demain à 00:00:00 heure:

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

N'oubliez pas que si vous le faites de cette façon:

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

vous obtiendrez alors l'heure actuelle moins un jour et non hier à 00:00:00 heure.

14
Jo Smo

Utilisez DateTime.AddDays() ( méthode MSDN Documentation DateTime.AddDays ).

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

L'astuce consiste à utiliser "DateTime" pour manipuler les dates; utilisez uniquement des entiers et des chaînes lorsque vous avez besoin d'un "résultat final" à partir de la date.

Par exemple (pseudo code):

  1. Obtenez "DateTime demain = Maintenant + 1"

  2. Déterminez la date, le jour de la semaine, le jour du mois - celui que vous souhaitiez - de la date résultante.

2
paulsm4

Pour être "local" hier en UTC.

  var now = DateTime.Now;
  var yesterday = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0, DateTimeKind.Utc).AddDays(-1);
0
Namik Hajiyev