Как получить первый день текущей(и не только) недели? думаю что в .NET должно делаться двумя строками, но не нашел.
Здравствуйте, antonko, Вы писали:
A>Как получить первый день текущей(и не только) недели? думаю что в .NET должно делаться двумя строками, но не нашел.
string firstDayOfAnyWeek = GetFirstDayOfAnyWeek();
...
...
public static string GetFirstDayOfAnyWeek()
{
return "Monday".
}
Здравствуйте, ie, Вы писали:
ie>ie>string firstDayOfAnyWeek = GetFirstDayOfAnyWeek();
ie>...
ie>...
ie>public static string GetFirstDayOfAnyWeek()
ie>{
ie> return "Monday".
ie>}
ie>

я извиняюсь, уточню. Дату первого дня текущей недели
Здравствуйте, Аноним, Вы писали:
А>
я извиняюсь, уточню. Дату первого дня текущей недели
DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek) если первый день недели воскресенье
Если первый день понедельник, то прибавить 1, но учесть особый случай для варианта когда сегодня воскресенье
Здравствуйте, Аноним, Вы писали:
А>
я извиняюсь, уточню. Дату первого дня текущей недели
Я так думаю, что просто не получится. Так как к примеру в россии неделя начинается с понедельника, в америке с воскресенья (см календарь) и т.д. Может в FW 2.0 что то и добавил, но в FW 1.1 надо шаманить.
Здравствуйте, sardanapal, Вы писали:
А>>
я извиняюсь, уточню. Дату первого дня текущей недели
S>DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek) если первый день недели воскресенье
S>Если первый день понедельник, то прибавить 1, но учесть особый случай для варианта когда сегодня воскресенье
Спасибо, так и сделаю! будет проще всего.
думал что DayOfWeek это не есть DateTime и невозможно отнять одно от другого

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, antonko, Вы писали:
A>Как получить первый день текущей(и не только) недели? думаю что в .NET должно делаться двумя строками, но не нашел.
Я делаю так:
// работаем
private static System.DateTime FirstDayOfWeekByDate(System.DateTime date, System.Globalization.CultureInfo ci)
{
DayOfWeek firstDayOfWeek = ci.DateTimeFormat.FirstDayOfWeek;
return date.AddDays((Int32)firstDayOfWeek-(Int32)date.DayOfWeek);
}
// перегружаем для удобства
private static System.DateTime FirstDayOfWeekByDate(System.DateTime date)
{
return FirstDayOfWeekByDate(date, System.Threading.Thread.CurrentThread.CurrentCulture);
}
Небольшой тестик — Смотрим что получается:
static void Main(string[] args)
{
System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
System.DateTime date = System.DateTime.Now;
date = FirstDayOfWeekByDate(System.DateTime.Now);
Console.WriteLine("Def:\t{0} {1} {2}", date, date.DayOfWeek, (Int32)date.DayOfWeek);
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("ru-Ru");
date = FirstDayOfWeekByDate(System.DateTime.Now,System.Threading.Thread.CurrentThread.CurrentCulture);
Console.WriteLine("ru-RU:\t{0} {1} {2}", date, date.DayOfWeek, (Int32)date.DayOfWeek);
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
date = FirstDayOfWeekByDate(System.DateTime.Now,System.Threading.Thread.CurrentThread.CurrentCulture);
Console.WriteLine("en-US:\t{0} {1} {2}", date, date.DayOfWeek, (Int32)date.DayOfWeek);
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
}