Здравствуйте, antonko, Вы писали:
A>Как получить первый день текущей(и не только) недели? думаю что в .NET должно делаться двумя строками, но не нашел.
string firstDayOfAnyWeek = GetFirstDayOfAnyWeek();
...
...
public static string GetFirstDayOfAnyWeek()
{
return "Monday".
}
Здравствуйте, Аноним, Вы писали:
А>
я извиняюсь, уточню. Дату первого дня текущей недели
DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek) если первый день недели воскресенье
Если первый день понедельник, то прибавить 1, но учесть особый случай для варианта когда сегодня воскресенье
Как получить первый день текущей(и не только) недели? думаю что в .NET должно делаться двумя строками, но не нашел.
Здравствуйте, ie, Вы писали:
ie>ie>string firstDayOfAnyWeek = GetFirstDayOfAnyWeek();
ie>...
ie>...
ie>public static string GetFirstDayOfAnyWeek()
ie>{
ie> return "Monday".
ie>}
ie>

я извиняюсь, уточню. Дату первого дня текущей недели
Здравствуйте, Аноним, Вы писали:
А>
я извиняюсь, уточню. Дату первого дня текущей недели
Я так думаю, что просто не получится. Так как к примеру в россии неделя начинается с понедельника, в америке с воскресенья (см календарь) и т.д. Может в 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;
}