![]() |
Verschiedene CulturInfo's
Hallo,
Im Anhang eine Funktion, welche den Starttag einer Kalenderwoche ermittelt. Auf Grund der verschiedenen Definitionen, an welchem Tag die Woche beginnt, komme ich jetzt nicht weiter :mrgreen: Wie kann ich den case - teil so gestalten, das es für beide definitionen, also 1.der erste Tag der Woche ist Montag 2.der erste Tag der Woche ist Sonntag gilt und vereinfacht werden kann.
Delphi-Quellcode:
danke raik
function Get_StartDay(dVAlue: Integer): DateTime;
var fCUI: CultureInfo; FirstDay :DayofWeek; FirstDate :DateTime; TempWeek :Integer; begin TempWeek:= 1; If (0 < dValue) and (dVAlue < 54) then begin fCUI:= CultureInfo.get_CurrentCulture; FirstDate:= DateTime.Create(fCUI.DateTimeFormat.Calendar.GetYear(DateTime.Now), 1, 1); while TempWeek <> dValue do begin FirstDate := FirstDate.AddDays(1); TempWeek:= fCUI.Calendar.GetWeekOfYear(FirstDate ,fCUI.DateTimeFormat.CalendarWeekRule ,fCUI.DateTimeFormat.FirstDayOfWeek); end; FirstDay:= fCUI.Calendar.GetDayOfWeek(FirstDate); case FirstDay of DayOfWeek.Monday : FirstDaTe:= FirstDate.AddDays( 0); DayOfWeek.Tuesday : FirstDate:= FirstDate.AddDays(-1); DayOFWeek.Wednesday: FirstDate:= FirstDate.AddDays(-2); DayOFWeek.Thursday : FirstDate:= FirstDate.AddDays(-3); DayOfWeek.Friday : FirstDate:= FirstDate.AddDays(-4); DayOfWeek.Saturday : FirstDate:= FirstDate.AddDays(-5); DayOfWeek.Sunday : FirstDate:= FirstDate.AddDays(-6); end; result:= FirstDate; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 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