Hoe kom ik achter de dag nummer in een week als ik een DateTime datum heb?
Met DayOfWeek kan ik wel de dag in letters uit krijgen, maar ik heb de integer nodig.
Hoe kom ik achter de dag nummer in een week als ik een DateTime datum heb?
Met DayOfWeek kan ik wel de dag in letters uit krijgen, maar ik heb de integer nodig.
Anders
May your code compile!
Code:function DayOfWeek(const DateTime: TDateTime): Word;
Uses: D7 Pro
[edit]
oeps.. .NET
Last edited by SvG; 24-Nov-04 at 14:00.
!
Sorry niet helemaal duidelijk voor het .NET Framework - ASP.NET
Anders
May your code compile!
Maar gelukkig heeft Borland de VCL voor .NET. In dat geval spiek ik daar dus gewoon even in en kijk ik wat zij van de functie DayOfWeek hebben gemaakt. In dit geval:Code:Result := ADateTime.DayOfWeek;
Marcel
Nu bring je mij in verlegenheid - Ik dacht in een ASP.NET applicatie kan je toch niet VCLor .NET gebruiken?
Anders
May your code compile!
DayOfWeek is een enum met als underlying type Int32.
In Delphi is dat dus: System.DateTime.DayOfWeek = (Sunday .. SaturDay);
Je moet de enum dus converteren naar Int32 (of integer in Delphi) of casten :
Code:var Vandaag: System.DateTime; ADay: DayOfWeek; ADayInt32: Int32; ADayInteger: integer; begin Vandaag := DateTime.Today; ADay := Vandaag.DayOfWeek; ADayInteger := integer(Vandaag.DayOfWeek); ADayInt32 := Convert.ToInt32(Vandaag.DayOfWeek); // of: ADayInt32 := Int32(Vandaag.DayOfWeek); end;
All methodologies are based on fear. -- Kent Beck.
Oops!
En in Delphi kan dat natuurlijk ook (beter) met:Code:ADayInteger := Ord(Vandaag.DayOfWeek);
All methodologies are based on fear. -- Kent Beck.
Bedankt Dirk
Anders
May your code compile!
En nu anders om
Ik heb dus een Datum van het Type DateTime en wil wten in welke week die is?
Anders
May your code compile!
Voor de duidelijkheid: ik bedoelde niet dat je de VCL moest gaan gebruiken in het project. Dat is wellicht wat overkill voor een paar functies. Maar het is wel handig om even in de code te kijken wat de VCL doet om de functie in .NET uit te voeren.Originally posted by Anders
Nu bring je mij in verlegenheid - Ik dacht in een ASP.NET applicatie kan je toch niet VCLor .NET gebruiken?
Marcel
In dit geval niet: het probleem van Anders was niet DayOfWeek te vinden, want die had hij al, maar een manier om de enum naar de integer waarde te krijgen.Originally posted by Marcel
...Maar het is wel handig om even in de code te kijken wat de VCL doet om de functie in .NET uit te voeren.
All methodologies are based on fear. -- Kent Beck.
Ah, dat is een fijneOriginally posted by Anders
Ik heb dus een Datum van het Type DateTime en wil wten in welke week die is?
Hangt onder meer af van wat de eerste dag van de week is en wat de CalendarWeekRule is van de Culture waarvoor je deze info vraagt. Voor CurrentCulture is dat:
Code:uses System.Globalization; // .. var Week: Int32; begin Week := CultureInfo.CurrentCulture.Calendar.GetWeekOfYear( DateTime.Today, CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule, CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek); end;
All methodologies are based on fear. -- Kent Beck.
Nogmaals bedankt Dirk
Maar ik blijf maar prutsen (sorry Dees)
Nu blijkt toch dat ik de eerste dag van een week moet hebben, denk ik tenminste Eerst hiel ik geen rekening met jaren en controleerde ik of de week <= was dan een bepaalde week, maar dat loopt in de soep als er weken zijn van meerdere jaren (2 jaar)
Wat ik moet dus moet weten is of een datum (DateTime type) voor of na de eerste week van de school vakantie is (maandag van die week)
Nu heb (voor mijn gevoel) alle artikelen op msdn gelezen, maar kom er niet uit hoe ik dit moet oplossen
Kan iemand mij in de goede richting sturen?
Anders
May your code compile!
Je probleem is me niet helemaal duidelijk. Als je de datum hebt van het begin van de vakantie en het eind van de vakantie dan is dat toch gewoon zoiets:Dus de vraag is: wat heb je om mee te starten?Code:function InVakantie(EenDag, BeginVakantie, EindVakantie: DateTime): Boolean; begin Result := (EenDag >= BeginVakantie) and (EenDag <= EindVakantie); end; //of als je niet zeker bent van het Time gedeelte: function InVakantie(EenDag, BeginVakantie, EindVakantie: DateTime): Boolean; begin Result := (EenDag.Date >= BeginVakantie.Date) and (EenDag.Date <= EindVakantie.Date); end;
All methodologies are based on fear. -- Kent Beck.
Ben er uit
Uit de database heb ik de datum (DateTime) van de maandag van verschillende weken. In feite moet ik weten of de huidige datum (DateTime.ToDay) voor of na de eerste week van de schoolvakantie ligt en zo nee welke maandag van een week uit de database over eenkomt met de maandag van de huidige week.
Dus had ik de Maandag van huidige week nodig, dat doe ik nu zo
Waar ADate in dit geval de huidige datum is.Code:function TZoekcriteria.EersteDagVanWeek(ADate: DateTime): DateTime; var Dag: Integer; begin Dag:= Ord(ADate.DayOfWeek); Result:= ADate.AddDays(- Dag + 1); // +1 omdat DayOfWeek -> 0=zondag end;
Bedankt voor het mee denken / helpen
Anders
May your code compile!
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks