Как узнать дату неделю назад от текущей
От: AnGrig  
Дата: 05.12.07 16:35
Оценка:
#Имя: FAQ.dotnet.DateTime.Calendar.PreviousWee
Всем привет!

Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?

Заранее спасибо
Re: Как узнать дату неделю назад от текущей
От: Аноним  
Дата: 05.12.07 16:43
Оценка:
Здравствуйте, AnGrig, Вы писали:

AG>Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?


А отнять 7 дней?
Не получается?
Re: Как узнать дату неделю назад от текущей
От: nikov США http://www.linkedin.com/in/nikov
Дата: 05.12.07 16:48
Оценка: +1
Здравствуйте, AnGrig, Вы писали:

AG>Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?


DateTime.Now.AddDays(-7);
Re: Как узнать дату неделю назад от текущей
От: AndreyR7 Великобритания  
Дата: 05.12.07 16:48
Оценка:
Здравствуйте, AnGrig, Вы писали:

AG>Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?



DateTime originalDate;
DateTime newDate = originalDate.AddDays(-7.0);
Re: Как узнать дату неделю назад от текущей
От: TK Лес кывт.рф
Дата: 05.12.07 16:55
Оценка: +1
Здравствуйте, AnGrig, Вы писали:

AG>Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?


Возмите текущий календарь, текущую дату и пребавьте -1 неделю. Что-то вроде: Calendar.AddWeeks(DateTime.Now, -1)
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Как узнать дату неделю назад от текущей
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 05.12.07 17:06
Оценка: 2 (1) +2
Здравствуйте, AnGrig, Вы писали:

AG>Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?

В общем случае для хитрых действий с датой более универсальным, нежели посоветовали выше, является использование System.Globalization.Calendar. К примеру, период (отрезок) времени между двумя датами скорее всего на обычном DateTime выдаст неправильный результат на периоде перевода летнего-зимнего времени (в Java так, не проверял, но по сигнатуре классов, похоже, что и в .NET так же).
Re[2]: Как узнать дату неделю назад от текущей
От: AnGrig  
Дата: 05.12.07 17:08
Оценка:
Всем большое спасибо!

А я уже так, в принципе тоже работает

DateTime curDate = DateTime.Now;
TimeSpan timeSpan = new TimeSpan(7,0,0,0);
DateTime testDate = curDate — timeSpan;


Здравствуйте, TK, Вы писали:

TK>Здравствуйте, AnGrig, Вы писали:


AG>>Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?


TK>Возмите текущий календарь, текущую дату и пребавьте -1 неделю. Что-то вроде: Calendar.AddWeeks(DateTime.Now, -1)
Re[3]: Как узнать дату неделю назад от текущей
От: TK Лес кывт.рф
Дата: 05.12.07 17:17
Оценка: 6 (1) +1
Здравствуйте, AnGrig, Вы писали:

AG>А я уже так, в принципе тоже работает


AG>DateTime curDate = DateTime.Now;

AG>TimeSpan timeSpan = new TimeSpan(7,0,0,0);
AG>DateTime testDate = curDate — timeSpan;

Это оптимистичный вариант. Попробуйте этот код для случая "первое марта" и високосный / не високосный год.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Как узнать дату неделю назад от текущей
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 06.12.07 04:41
Оценка: +1
Здравствуйте, TK, Вы писали:

TK>Это оптимистичный вариант. Попробуйте этот код для случая "первое марта" и високосный / не високосный год.


хм, попробовал — что DateTime, что Calendar, результаты одинаковые
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[5]: Как узнать дату неделю назад от текущей
От: TK Лес кывт.рф
Дата: 06.12.07 08:15
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

TK>>Это оптимистичный вариант. Попробуйте этот код для случая "первое марта" и високосный / не високосный год.

OE>хм, попробовал — что DateTime, что Calendar, результаты одинаковые

С високосным годом это я промахнулся Реально же некоторые календари перегружают AddYears/AddMonths. т.е тут надо смотреть по ситуации — если операции с датами выполняются для пользователя то, лучше использовать календарь а если надо просто замерить какой-то интервал времени то, подойдет и DateTime
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[6]: Как узнать дату неделю назад от текущей
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 06.12.07 09:29
Оценка:
Здравствуйте, TK, Вы писали:

TK>С високосным годом это я промахнулся Реально же некоторые календари перегружают AddYears/AddMonths. т.е тут надо смотреть по ситуации — если операции с датами выполняются для пользователя то, лучше использовать календарь а если надо просто замерить какой-то интервал времени то, подойдет и DateTime

Проверил 28.10.2007 2:59 + 1 минута на DateTime/Calendar, все равно 3:00 получается, а должно быть 2:00. В Java это решает именно календарь, а в .NET как и что вообще тогда умеет календарь, кроме удобства получения недели, месяца, года и т.п.?
Re[7]: Как узнать дату неделю назад от текущей
От: Аноним  
Дата: 06.12.07 09:37
Оценка:
Здравствуйте, rsn81, Вы писали:

R>Проверил 28.10.2007 2:59 + 1 минута на DateTime/Calendar, все равно 3:00 получается, а должно быть 2:00.


Может быть, .NET решил, что это другие 2:59 — уже после перевода стрелок?
Re[8]: Как узнать дату неделю назад от текущей
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 06.12.07 10:05
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Может быть, .NET решил, что это другие 2:59 — уже после перевода стрелок?

Упс, соврал. Посмотрел Java-код, там было по-другому: задавались две даты 28.10.2007 0:0 и 28.10.2007 4:0 и с помощью календаря инкрементов часов первой даты находилась разница (отрезок времени) со второй датой — в итоге получали 5 часов, а не 4. С другой стороны, это действие на UTC-дате тоже работает, но... скажем, с помощью даты не получится искать отрезки в более абстрактных категориях, как то: неделя, месяц, год и т.п. Как такое сделать в .NET? Думал, календарь здесь такой же... может рецепт его приготовления просто найти не могу?
Re: Как узнать дату неделю назад от текущей
От: Othello  
Дата: 07.12.07 08:45
Оценка:
Здравствуйте, AnGrig, Вы писали:

AG>Всем привет!


AG>Не подскажете, как в .Net можно узнать дату, которая была неделю назад от текущей даты?


AG>Заранее спасибо

DateTime.Now.AddDays(-7);
DateTime.Today.AddDays(-7);


ЗЫ
в MSDN посмотреть видимо не судьба.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Как узнать дату неделю назад от текущей
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 07.12.07 08:55
Оценка:
Здравствуйте, Othello, Вы писали:

O>в MSDN посмотреть видимо не судьба.

И что в MSDN пишут про решение такой проблемы: Re[8]: Как узнать дату неделю назад от текущей
Автор: rsn81
Дата: 06.12.07
? Искал — не нашел, может научите?
Re[3]: Как узнать дату неделю назад от текущей
От: Othello  
Дата: 07.12.07 09:02
Оценка:
У меня Janus не показывал все ответы — я видел только сам вопрос — а всего топика не было. Когда отвечал — не знал, что тут столько постов уже. И о проблемах — выявленых в ходе обсуждения.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.