#c#
#c#
Вопрос:
У меня есть столбец даты начала, вызываемый StartDate
в таблице базы данных. Мне нужно определить, сколько недель прошло с даты начала до сегодняшнего дня.
Вот мой код:
DateTime startDate = new DateTime(StartedDate);
if (startDate.addDays(7) == DateTime.Today) {
// One week elapsed.
}
Допустим startDate
, 29.09.2016. Если я добавлю 7 дней, общее количество станет 07.10.2016.
Если, например, сегодня 7.10.2016 — та же дата, что и выше, значит, с даты начала есть 1 неделя. Как я могу определить количество недель для дат в будущем?
Комментарии:
1. SO — это не домашняя работа. Сделайте это сами.
2. Я делаю это сам. Мне просто нужны комментарии, чтобы исправить меня или помочь мне. Мы все так начинали. Извините, я новичок в программировании.
Ответ №1:
Попробуйте
if(DateTime.Now.Subtract(StartDate).TotalDays%7==0)
Это даст вам модуль дней и будет равен 0 каждые 7 дней. Однако это будет зависеть от времени (если StartDate равен 2:00 вечера, дней будет 6 до 2:00 вечера на 7-й день). Если вас интересует только день (а не время после полуночи), используйте:
if(DateTime.Now.Date.Subtract(StartDate.Date).TotalDays%7==0)
Комментарии:
1. Хорошо, спасибо, но как насчет того, хочу ли я определить месяцы? Какова формула для месяцев с тех пор, как я получаю недели. большое вам спасибо, сэр.
2. если (DateTime.Now.Month> Дата начала. Месяц)
3. Вау, не думай об этом. Хе-хе, спасибо, сэр, вы великолепны: D я новичок в этой области, еще раз спасибо.
4. Встроенные классы даты / времени / времени обычно не обрабатываются месяцами для вычисления, потому что количество дней в месяце варьируется в зависимости от того, какие месяцы задействованы (структура временных интервалов даже не имеет свойства Months), и если задействован февраль, вы должны учитывать високосный год. Если вы хотите выполнить вычисления даты в месяцах (точно), вам, вероятно, придется написать это самостоятельно.