Получить номер недели по дате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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Дата и Время ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |