Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1125544025
Ярослав
2005-09-01 07:07
2005.10.16
Определить изменилась ли запись в триггере?


1-1127395980
.::AndreW::.
2005-09-22 17:33
2005.10.16
На мультемелийной клаве есть три кнопки запуск Word, Exel...


1-1127825416
jobster
2005-09-27 16:50
2005.10.16
Розыскивается Delphi-программист


2-1126083541
worldmen
2005-09-07 12:59
2005.10.16
Форматирование даты.


14-1127454649
nk
2005-09-23 09:50
2005.10.16
Что есть DNS, и где он нужен ?! )





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский