Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизВопрос по датам Найти похожие ветки
← →
календарь1 (2005-09-13 16:46) [0]Как мне узнать количество определенных дней недели (пятниц, например) в определенном месяце какого-то года? Как определить, что такое-то число являеться таким то днем недели (например, 2-ым вторником) определенно месяца определенного года?
Поможите с алгоритмами. Не могу сам придумать...
← →
TUser © (2005-09-13 17:34) [1]DaysBetween
← →
Reindeer Moss Eater © (2005-09-13 17:39) [2]Как мне узнать количество определенных дней недели (пятниц, например) в определенном месяце
Надо их посчитать.
← →
календарь1 (2005-09-13 17:47) [3]
> Надо их посчитать
как? Как хотя бы узнать номер недели в году?
← →
Джо © (2005-09-13 18:02) [4]uses DateUtils...
function WeekOfTheYear
и другие
← →
Reindeer Moss Eater © (2005-09-13 18:07) [5]А зачем тебе номер недели в году для того, что бы посчитать пятницы?
В твоем календаре разное кол-во пятниц в разных неделях?
← →
Antonn © (2005-09-13 18:12) [6]примерно так:
uses dateutils;
function GetNumDayNedely(_date:Tdatetime; _num:integer):integer;
var
YYYY, MM, DD: Word;
D: TDateTime; i:integer;
begin
DecodeDate(_date, YYYY, MM, DD);
D := EndOfAMonth(YYYY, MM);
DecodeDate(D, YYYY, MM, DD);
result:=0;
d:= EncodeDate(YYYY, MM, 1);
for i:=0 to DD-1 do
if _num=DayOfWeek(d+i) then result:=result+1;
end;
в _num - номер дня недели (1..7), начиная с Воскресенья
← →
календарь1 (2005-09-13 18:22) [7]
> uses DateUtils...
говорит что такого нету...
> Antonn © (13.09.05 18:12) [6]
видел уже это... мне нужен математическо-логический алгоритм в чистом виде, а не Tdatetime...
← →
Джо © (2005-09-13 18:23) [8]
> мне нужен математическо-логический алгоритм в чистом виде,
> а не Tdatetime...
На пальцах. Элементарно.
← →
Reindeer Moss Eater © (2005-09-13 18:23) [9]мне нужен математическо-логический алгоритм
Абалдеть-не-встать
:)
← →
календарь1 (2005-09-13 18:27) [10]
> Абалдеть-не-встать
ну спасибо :)
← →
календарь1 (2005-09-13 18:29) [11]
> Джо © (13.09.05 18:02) [4]
> uses DateUtils...
> function WeekOfTheYear
> и другие
Нашел модуль. WeekOfTheYear там нету.
← →
Antonn © (2005-09-13 18:35) [12]календарь1 (13.09.05 18:22) [7]
видел уже это...
где видел? я только что написал...
← →
календарь1 (2005-09-13 18:38) [13]
> где видел? я только что написал...
Не это а похожее...
← →
календарь1 (2005-09-13 18:42) [14]Ну поможите! плиз! уже весь Яндекс обыскал, нигде нету :(
Нужен сам алгоритм... Можно не на Паскале, а хоть просто на словах объяснить, только как можно понятнее...
← →
Antonn © (2005-09-13 18:43) [15]календарь1 (13.09.05 18:42) [14]
зажимаешь ctrl и щелкаешь на название функций в соду [6], копируешь себе, лишнее убираешь.
← →
Antonn © (2005-09-13 18:43) [16]Antonn © (13.09.05 18:43) [15]
соду
коде
:)
← →
Джо © (2005-09-13 18:52) [17]
> [11] календарь1 (13.09.05 18:29)
> Нашел модуль. WeekOfTheYear там нету.
Вот объявления нескольких функций из этого модуля (D6, D2005):
{ This of that functions }
function MonthOfTheYear(const AValue: TDateTime): Word;
function WeekOfTheYear(const AValue: TDateTime): Word; overload; {ISO 8601}
function WeekOfTheYear(const AValue: TDateTime; {ISO 8601}
var AYear: Word): Word; overload;
function DayOfTheYear(const AValue: TDateTime): Word;
function HourOfTheYear(const AValue: TDateTime): Word;
function MinuteOfTheYear(const AValue: TDateTime): LongWord;
function SecondOfTheYear(const AValue: TDateTime): LongWord;
function MilliSecondOfTheYear(const AValue: TDateTime): Int64;
function WeekOfTheMonth(const AValue: TDateTime): Word; overload; {ISO 8601x}
function WeekOfTheMonth(const AValue: TDateTime; var AYear, {ISO 8601x}
AMonth: Word): Word; overload;
function DayOfTheMonth(const AValue: TDateTime): Word;
function HourOfTheMonth(const AValue: TDateTime): Word;
function MinuteOfTheMonth(const AValue: TDateTime): Word;
function SecondOfTheMonth(const AValue: TDateTime): LongWord;
function MilliSecondOfTheMonth(const AValue: TDateTime): LongWord;
function DayOfTheWeek(const AValue: TDateTime): Word; {ISO 8601}
function HourOfTheWeek(const AValue: TDateTime): Word; {ISO 8601}
function MinuteOfTheWeek(const AValue: TDateTime): Word; {ISO 8601}
function SecondOfTheWeek(const AValue: TDateTime): LongWord; {ISO 8601}
function MilliSecondOfTheWeek(const AValue: TDateTime): LongWord; {ISO 8601}
function HourOfTheDay(const AValue: TDateTime): Word;
function MinuteOfTheDay(const AValue: TDateTime): Word;
function SecondOfTheDay(const AValue: TDateTime): LongWord;
function MilliSecondOfTheDay(const AValue: TDateTime): LongWord;
function MinuteOfTheHour(const AValue: TDateTime): Word;
function SecondOfTheHour(const AValue: TDateTime): Word;
function MilliSecondOfTheHour(const AValue: TDateTime): LongWord;
function SecondOfTheMinute(const AValue: TDateTime): Word;
function MilliSecondOfTheMinute(const AValue: TDateTime): LongWord;
function MilliSecondOfTheSecond(const AValue: TDateTime): Word;
Я их сам придумал? ;)
П.С. Вообще-то, в таких случаях принято писать номер своей версии Делфи.
← →
календарь1 (2005-09-13 19:05) [18]
> П.С. Вообще-то, в таких случаях принято писать номер своей
> версии Делфи.
№ 5 :) а в Д-7 такое есть?
← →
Джо © (2005-09-13 19:15) [19]
> [18] календарь1 (13.09.05 19:05)
> № 5 :) а в Д-7 такое есть?
В Делфи 7 - не знаю. У меня 6 и 2005. С вероятностью 99% рискну утверждать, что и в 7 есть :)
← →
KilkennyCat © (2005-09-13 22:29) [20]есть
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.039 c