![]() |
Monat abziehen
Gibt es eine Möglichkeit vom "Now" einen Monat abzuziehen (sowas wie : Now-1Monat)???
30/31 ist zu ungenau... |
Re: Monat abziehen
pack das ganze mit DateTimeToStr in nen string, lies den monat gesondert aus, mach ihn um eins kleiner, und mit StrToDateTime zurück....
|
Re: Monat abziehen
Alternativ könntest du
Delphi-Quellcode:
nehmen. :mrgreen:
ZeitPunkt := IncMonth(now, -1);
|
Re: Monat abziehen
danke probiere aus...
|
Re: Monat abziehen
Was genau willst Du machen?
|
Re: Monat abziehen
hatte letzten kommentar nicht gelesen...
ich will einem Query sagen das er datensetze zeigen soll wo das Feld Datum aus diesem Monat stammt |
Re: Monat abziehen
Zitat:
|
Re: Monat abziehen
Was hat dein Versuch ergeben?
|
Re: Monat abziehen
12.12.04
also richtig oder? (SICHER, is SICHER) |
Re: Monat abziehen
wenn Du mit MSSQL oder MSDE abeitest, sollte
SQL-Code:
das gewünschte Ergebnis erzielen - andere SQL-Dialekte haben ähnliche Funktionen zu bieten.
SELECT * --was auch immer
FROM Tabelle -- wo auch immer WHERE datepart(month,Datumsfeld) = datepart(month,getdate()) AND datepart(year,Datumsfeld) = datepart(year,getdate()) Gruß |
Re: Monat abziehen
Einen Unterschied würds doch IMHO erst machen, wenn du z.B. vom 30.3 einen Monat abziehst.
|
Re: Monat abziehen
jo
ich hab ne kleine function dras gemacht *ggg* mit schaltjahr und allem
Delphi-Quellcode:
fehler sind möglich, hab aber spontan keine gefunden ;)
function Schaltjahr(Year:Integer):Boolean;
begin Result:=((Year Mod 4 = 0) or (Year Mod 400 = 0)) and not (Year Mod 100 = 0); end; function ChangeDate(Value:TDateTime; DayChange, MonthChange, YearChange: Integer):TDateTime; var Temp: String; Mon, Year, Day:Integer; begin Temp:=DateTimeToStr(Value); Day:=StrToInt(copy(Temp,1,2)); Mon:=StrToInt(copy(Temp,4,2)); Year:=StrToInt(copy(Temp,7,4)); Day:=Day+DayChange; Mon:=Mon+MonthChange; Year:=Year+YearChange; if Day=0 then begin Dec(Mon); Case Mon of 1,3,5,7,8,10: Day:=31; 4,6,9,11: Day:=30; 2:if Schaltjahr(Year) then Day:=29 else Day:=28; end; end; if Mon=0 then begin Mon:=12; Dec(Year); end; Temp:=IntToStr(Day)+'.'+IntToStr(Mon)+'.'+IntToStr(Year); Result:=StrToDateTime(Temp)+(Value-Trunc(Value)); end; übergeben wird ein DateTime-Wert bei den werten Value,0,2,-1 wird value um 2 moinate nach vorne und 1 jahr nach hinten versetzt und zurückgegeben aufruf zb so
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Value: TDateTime; begin Value:=DateTimePicker1.DateTime; Value:=ChangeDate(Value,0,-1,0); ShowMessage(DateTimeToStr(Value)); end; |
Re: Monat abziehen
Was gefällt dir den an den Funktionen IncDay, IncMonth, IncYear, ... nicht?
Du erfindest da das Rad nochmals. |
Re: Monat abziehen
An denen gefällt mir net das ich net wusste das sie existieren :mrgreen:
aber machen die das mit schaltjahr und so? alles dabei? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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