Я пытаюсь извлечь даты для текущей недели, и я просто не могу найти разумный, умный способ вместо долгого случая, переключатели и заявления if. Кто-нибудь знает относительно простой способ извлечения тех, кто использует .Net? Спасибо!Извлечение дат текущей недели с использованием .Net?
ответ
DateTime.DayOfWeek
- это перечисление, которое начинается с воскресенья 0 и вперед. Если вы возьмете сегодняшний день недели, он также расскажет, сколько дней назад было воскресенье. Поэтому вернемся к тому, что многие дни дадут вам воскресенье этой недели, предполагая, что неделя начнется в воскресенье. Вы можете перейти от этого к семи дням недели.
var today = DateTime.Now;
var thisSunday = today.AddDays(-(int)today.DayOfWeek);
for (int i=0; i<7; i++)
Console.WriteLine(thisSunday.AddDays(i).ToString());
Если неделя начинается с понедельника, используйте
var thisMonday = today.AddDays(-(((int)today.DayOfWeek + 6) % 7));
Хмм интересно .. Я думаю, что это решение может сделать трюк. Спасибо большое приятель! –
Возможно, было бы лучше разветвиться в обоих направлениях с указанной даты и проверить номер недели, таким образом, у вас будет код, который будет независимым от культуры. Не все культуры начинают свои недели в воскресенье. –
@ LasseV.Karlsen Да, поэтому я добавил вариант на несколько недель, начиная с понедельника. Его также можно легко изменить, чтобы начать с желаемого рабочего дня, если это необходимо. –
Вы можете использовать метод расширения для установки в тот день, неделю начать с (credit goes to @Compile This)
public static class DateTimeExtensions
{
public static DateTime StartOfWeek(this DateTime datetime, DayOfWeek startOfWeek)
{
int difference = datetime.DayOfWeek - startOfWeek;
if (difference >= 0)
return datetime.AddDays(-1 * difference).Date;
difference += 7;
return datetime.AddDays(-1 * difference).Date;
}
}
Тогда вы можете получить дату недели, используя тот же цикл, что и @Sami_Kuhmonen:
DateTime d = DateTime.Now.StartOfWeek(DayOfWeek.Saturday);
for (int i = 0; i < 7; i++)
Console.WriteLine(d.AddDays(i));
- 1. Как получить диапазон дат для текущей недели?
- 2. Получение дат текущей недели в android
- 3. Как получить 5 дат текущей недели с php или jquery?
- 4. Finding диапазон дат для текущей недели, с каждой неделей
- 5. Получение текущей недели с использованием T-SQL с использованием параметров
- 6. Найти диапазон дат недели по текущей дате в sql?
- 7. Только даты с текущей недели
- 8. Извлечение данных на основе текущей недели ИД и обратной связи
- 9. JQuery, чтобы получить дату Пятницы текущей недели с текущей даты
- 10. отображение данных текущей недели
- 11. понедельник текущей недели
- 12. Android извлечение событий из календаря с использованием диапазона дат
- 13. Расчет диапазона дат недели
- 14. Получите все недели до текущей недели/года
- 15. выберите 5 дат недели
- 16. На прошлой неделе против текущей недели
- 17. Нахождение дней недели в диапазоне дат с использованием Oracle SQL
- 18. Calender: Показать даты до следующей недели с текущей недели
- 19. IOS: Получить все даты текущей недели
- 20. Как получить номер текущей недели?
- 21. Выбрать все дни текущей недели
- 22. Извлечение файла .tbz с использованием .net
- 23. Извлечение элементов Pdf с использованием .net
- 24. Показывать диапазон дат недели вместе с резюме недели в mysql
- 25. Получите все дни текущей недели?
- 26. Извлечение числа недели из POSIXt в R
- 27. Вычесть четыре недели с текущей отметки времени
- 28. javascript рассчитать дату с текущей недели
- 29. Показать ежедневные данные с текущей недели, Postgresql
- 30. Основные данные получить данные с текущей недели
Покажите, что вы пробовали, и почему вы ищете другой aproach. – Fabio
Еще не началось. У меня есть мысленный образ езды на велосипеде каждый день и добавление или вычитание дней в соответствии со значением «Сегодня». Я просто надеюсь, что существует более разумный подход. –
Попробуйте 'DateTime.Now.DayOfWeek', а затем, основываясь на результатах, укажите другие даты той же недели. – Fabio