Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Вопрос по датам   Найти похожие ветки 

 
календарь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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.028 c
14-1127507786
Ученик чародея
2005-09-24 00:36
2005.10.16
Он был хакером.


1-1127738263
Суслик
2005-09-26 16:37
2005.10.16
Проблемы с отображением TWinControl


8-1116912928
ALL
2005-05-24 09:35
2005.10.16
MediaPlayer


9-1117733503
Валера
2005-06-02 21:31
2005.10.16
Взрыв на OpenGL


2-1127221966
umbra
2005-09-20 17:12
2005.10.16
модифицирующий себя компонент