у меня есть дата (например: 2010-04-17) мне нужна дата после 20 дней с этой даты - PullRequest
0 голосов
/ 17 апреля 2010

у меня есть дата (например: 2010-04-17), мне нужна дата через 20 дней после этой даты Как получить дату через 20 дней, т.е. в следующем месяце какая-нибудь дата.

в sql или в c #

Ответы [ 5 ]

10 голосов
/ 17 апреля 2010

Это довольно просто в C #

            DateTime date = new DateTime(2010, 04, 17);
            DateTime newDate = date.AddDays(20);

Вы можете создать исходную переменную даты любым удобным для вас способом, а затем использовать метод AddDays, чтобы создать новую переменную (или обновить существующую) с датой через любое количество дней после этого.

4 голосов
/ 17 апреля 2010

В C # вы используете метод AddDays:

DateTime someDate = new DateTime(2010, 4, 17);
DateTime later = someDate.AddDays(20);

В SQL вы бы использовали некоторую функцию манипуляции с датой, которая специфична для различных диалектов SQL. Например, в MS SQL Server вы должны использовать функцию dateadd:

dateadd(day, 20, someDate)
2 голосов
/ 17 апреля 2010

Если дата уже является объектом DateTime, вы можете вызвать

var nextDate = myDate.AddDays(20);

Если это строка, вам нужно сначала преобразовать ее в DateTime:

var myDate = DateTime.Parse("2010-04-17");
var nextDate = myDate.AddDays(20);

Обратите внимание, что метод AddDays возвращает новый DateTime, но не добавляет дней к исходному DateTime.

1 голос
/ 17 апреля 2010

T-SQL: DATEADD(DAY, 20, thedate)

C #: DateTime.Add()

0 голосов
/ 17 апреля 2010

Oracle:

SELECT DATE_COLUMN + INTERVAL '20' DAY FROM MY_TABLE;

или

SELECT DATE_COLUMN + 20 FROM MY_TABLE;

PL / SQL:

BEGIN
  dtMy_date  DATE;

  SELECT DATE_COLUMN INTO dtMy_date FROM MY_TABLE;

  dtMy_date := dtMy_date + INTERVAL '20' DAY;
  -- or
  dtMy_date := dtMy_date + 20;
END;

Делись и наслаждайся.

...