![]() |
vereinfachen der folgenden Funktion
Hallo,
leider gibt es in .net keine Funktion welche die Kalenderwoche ausgibt, oder ich habe sie nicht gefunden :mrgreen: Kann man nachfolgende Funktion noch vereinfachen? Nein ich will nicht das aktuelle Datum übergeben, es geht mir nur um den Syntax.
Delphi-Quellcode:
Danke raik
function TWoche.Get_Week: Integer;
var Date ,FirstDate : DateTime; DayCount ,Compensation : Integer; begin Date:=DateTime.get_Now ; // aktuelle Datum FirstDate:= DateTime.Create(Date.Year, 1, 1); // der 01.01. des aktuellen Jahres case FirstDate.DayOfWeek of DayOfWeek.Sunday : Compensation:= 0; DayOfWeek.Monday : Compensation:= 6; DayOfWeek.Tuesday : Compensation:= 5; DayOfWeek.Wednesday: Compensation:= 4; DayOfWeek.Thursday : Compensation:= 3; DayOfWeek.Friday : Compensation:= 2; DayOfWeek.Saturday : Compensation:= 1; end; DayCount:= Date.DayOfYear - Compensation; If DayCount mod 7 = 0 then Result:= DayCount div 7 else Result:= DayCount div 7 + 1 end; [edit=Christian Seehase]Code gemäss kairs Vorgaben geändert. Mfg, Christian Seehase[/edit] |
Re: vereinfachen der folgenden Funktion
Hi,
mit CultureInfo und seiner Calendar Eigenschaft gehts.
Delphi-Quellcode:
mfG
var
CUI: CultureInfo; Week: Integer; begin CUI := CultureInfo.CreateSpecificCulture('de-DE'); Week := CUI.Calendar.GetWeekOfYear(DateTime.get_Now, CUI.DateTimeFormat.CalendarWeekRule, CUI.DateTimeFormat.FirstDayOfWeek); mirage228 |
Re: vereinfachen der folgenden Funktion
danke mirage,
da sieht mann erstmal die Vielfalt, die das .Net Framework bietet. raik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz