![]() |
![]() ![]() ![]() ![]() |
|
Получить номер недели по датеDelphi , Синтаксис , Дата и ВремяПолучить номер недели по дате
Оформил: DeeCo
var
FirstWeekDay: Integer = 2;
{ Wochentag, mit dem die Woche beginnt
(siehe Delphi-Wochentage)
2 : Montag (nach DIN 1355) }
FirstWeekDate: Integer = 4;
{ 1 : Beginnt am ersten Januar
4 : Erste-4 Tage-Woche (nach DIN 1355)
7 : Erste volle Woche }
{ liefert das Datum des ersten Tages der Woche }
{ get date of first day of week}
function WeekToDate(AWeek, AYear: Integer): TDateTime;
begin
Result := EncodeDate(AYear, 1, FirstWeekDate);
Result := Result + (AWeek - 1) * 7 - ((DayOfWeek(Result) + (7 - FirstWeekDay)) mod 7);
end;
{ liefert die Wochennummer und das Jahr, zu dem die Woche gehort }
{ get weeknumber and year of the given week number}
procedure DateToWeek(ADate: TDateTime; var AWeek, AYear: Word);
var
Month, Day: Word;
begin
ADate := ADate - ((DayOfWeek(ADate) - FirstWeekDay + 7) mod 7) + 7 - FirstWeekDate;
DecodeDate(ADate, AYear, Month, Day);
AWeek := (Trunc(ADate - EncodeDate(AYear, 1, 1)) div 7) + 1;
end;
{Week to date example}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FormatDateTime('dd.mm.yyyy', WeekToDate(51, 2000)));
end;
{Date to week example}
procedure TForm1.Button2Click(Sender: TObject);
var
week, year: Word;
begin
DateToWeek(now, week, year);
ShowMessage(IntToStr(week));
ShowMessage(IntToStr(year));
end;
Привет! Вот перевод текста на русский язык: Функция Эта функция принимает два параметра: Функция рассчитывает дату начала недели, используя функцию Остальная часть расчетаinvolve subtracting the day of the week (using the Функция Эта процедура принимает значение типа Процедура сначала корректирует дату ввода, чтобы она соответствовала началу недели, вычитывая смещение между текущим днем недели и началом недели. Затем она использует функцию Примеры: Код предоставляет два примера процедур:
В целом, эти функции предоставляют удобный способ работы с номерами недель в Delphi. В статье описывается алгоритм для определения номера недели по дате и наоборот, а также примеры его реализации на языке Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Дата и Время ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||