Ответ 1
Вы можете найти эту информацию прямо в ссылке API.
var today = DateTime.Now;
var tomorrow = today.AddDays(1);
var yesterday = today.AddDays(-1);
У меня есть код:
int MonthNow = System.DateTime.Now.Month;
int YearNow = System.DateTime.Now.Year;
int DayNow = System.DateTime.Now.Day;
Как я могу получить вчера и завтра день, месяц и год на С#?
Конечно, я могу просто написать:
DayTommorow = DayNow +1;
но может случиться, что завтра другой месяц или год. Есть ли в С# встроенные инструменты, чтобы узнать вчера и сегодня?
Вы можете найти эту информацию прямо в ссылке API.
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 Method).
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.
Хитрость заключается в использовании "DateTime" для управления датами; используйте целые числа и строки, когда вам нужен "окончательный результат" с даты.
Например (псевдокод):
Получить "DateTime завтра = сейчас + 1"
Определите дату, день недели, день месяца - независимо от того, что вы хотите - итоговой даты.