![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
определение недели по дате [D2005, XP]
Std © (2006-04-06 00:07:00)есть дата, например 05.04.2006, необходимо вывести интервал недели в которую входит эта дата. Например для этой даты нада шоб вывело 03.04.2006-09.04.2006
Std (2006-04-07 15:18:00) [1]оказывается есть такое чудо как StartOfTheMonth и EndOfTheMonth для месяца, EndOfTheWeek, StartOfTheWeek для недели
по крайней мере в 2006 делфи есть :)
Alarm (2006-04-06 18:18:00) [2]http://articles.org.ru/cfaq/index.php?qid=2058&frommostrecent=yes
Джо (2006-04-06 17:07:00) [3]Посмотрел бы все-таки, DateUtils.pas, а?
function DaysInAMonth(const AYear, AMonth: Word): Word;
Std (2006-04-06 16:03:00) [4]та мне любой, лиш бы нормально работало с высокосным годом :)
SergP (2006-04-06 15:01:00) [5]Начало месяца обычно является 1 число...
А как найти конец месяца - вариантов целая куча... даже не знаю какой тебе написать
Std (2006-04-06 12:57:00) [6]ладно, с этим разобрался, а вот как поступить с месяцем? как узнавать начало и конец месяца, причем что бы и в высокосный год показало правильно февраль
Anatoly Podgoretsky (2006-04-06 09:13:00) [7]Std (06.04.06 01:09) [4]
Универсально нет, а вот два паралельных алгоритма всегда пожалуйста, но тогда надо 7 алгоритмов.
Юрий Зотов (2006-04-06 02:30:00) [8]> Std (06.04.06 01:09) [4]
Спросить у юзера, с какого дня у него начинается неделя и сохранить в настройках. Так поступает, например, MS Project.
Std (2006-04-06 01:09:00) [9]хмм, а если прогу будут юзать и те и те, как узнать у кого с понедельника а у кого с воскресенья? или может можна как то и для тех и для тех зделать?
Anatoly Podgoretsky (2006-04-06 00:58:00) [10]А у европецев с понедельника DayOfTheWeek
SergP (2006-04-06 00:29:00) [11]
dt,d1,d2:TDate;
...
k:=DayOfWeek(dt);
if k=1 then k:=8; // у буржуев неделя начинается с воскресенья а у нас с понедельника
d1:=trunc(dt)-k+2; // начальная дата
d2:=d1+6; // конечная дата
Label1.Caption:=DateToStr(d1)+'-'+DateToStr(d2); // вывод к примеру в лейбл
Anatoly Podgoretsky (2006-04-06 00:10:00) [12]DayOfTheWeek и несложная математика из начальной школы.