PMS32 Online- Hilfereferenz
Datum - Datumsfunktionen
Datumsfunktionen
*/ Die unten angegebene Struktur verzweigt auf die Datumsfunktionen von PMS32 */ Wenn in einem REPLACE mehrere Berechnungen durchgeführt werden, sollte eine Zwischenvariable genommen werden loDatum = My.Functions.Datum */ weiterer Code ... REPLACE Feldname1 WITH loDatum.function,Feldname2 WITH loDatum.function,...
Rückgabe: [Integer], Wandelt eine 100 Sekundenangabe in eine 60 Sekundenangabe um.
Integer = My.Functions.Datum.ATTOT(tnATime AS NUMBER) Integer = My.Functions.Datum.ATTOT(tnATime)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,liTime AS Integer,lnTime AS Number */ So gehts schneller, wenn ein REPLACE benutzt wird loDatum = My.Functions.Datum */ Umwandlung von 100Minuten.100Sekunden in 60Minuten.60Sekunden lnTime = loDatum.ATTOT(5.50) && 3,30
Rückgabe:[Variant], Zeitberechnung verschiedener Werte. HH:MM und nZeiten sowie Stunden. Siehe auch Q01Tbl.
Hier gibt es verschiedene Berechnungsvarianten, die je nach Übergabe von tcWhat gewählt werden.
Variant = My.Functions.Datum.CalcTime(tcTime AS Variant,tvTime AS Variant,tcWhat AS STRING) Variant = My.Functions.Datum.CalcTime(tcTime,tvTime,tcWhat)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,lnTime AS Number,lcTime AS String,lnHours AS Number */ So gehts schneller loDatum = My.Functions.Datum */ Umwandlung einer C-Zeit in eine N-Zeit (Stunden gerechnet seit Mitternacht) lnTime = loDatum.CalcTime("14:35",0,"CN") */ Umkehrfunktion lcTime = loDatum.CalcTime(m.lnTime,0,"NC") */ Zu- bzw. Abziehen von Stunden zu einer C-Time lcTime = loDatum.CalcTime("14:35",1.5,"+C") && "16:05" lcTime = loDatum.CalcTime("14:35",1.5,"-C") && "13:05" */ Stunden zwischen zwei Zeiten lnHours = loDatum.CalcTime("12:05","14:35","-N") && 14:35 - 12:05 = 02:30 = 2,5 Stunden
Returnwert: [Date], Interne Methode für die Berechnung eines Datums anhand eines Startdatums und den Arbeitstagen!
Date = My.Functions.Datum.CalculateWd(tcIdc14 AS STRING,tdDate AS DATE,tiDays AS INTEGER) Date = My.Functions.Datum.CalculateWd(tcIdc14,tdDate,tiDays)
*/ Beispiel: LOCAL ldDatum AS Date */ Erster Arbeitstag nach deutschem Kalender wenn 10 Tage von Heute in die Vergangenheit gesehen wird ldDatum = My.Functions.Datum.CalculateWd("DE",DATE(),-10) */ Erster Arbeitstag nach deutschem Kalender wenn 10 Tage von Heute in die Zukunft gesehen wird ldDatum = My.Functions.Datum.CalculateWd("DE",DATE(),10)
Rückgabe:[String], Wandelt einen Datumswert in einen definierten Charakter Wert um. tcDefine = "JJ.MM.TT" oder auch "JJJJ/TT/MM"... Erstes Trennzeichen Zählt!
String = My.Functions.Datum.DTOChar(tdDatum AS DATE,tcDefine AS STRING) String = My.Functions.Datum.DTOChar(tdDatum,tcDefine)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,liTime AS Integer,lnTime AS Number,lcDate AS String */ So gehts schneller loDatum = My.Functions.Datum */ Umwandlung eines Datums in einen definierten String lcDate = loDatum.DTOChar({^2012-03-15},"JJ-MM-TT") && 12-03-15
Rückgabe: [Strig], Wandelt einen Date() Wert in einen internationalen String um. Ohne Stringbegrenzung!
String = My.Functions.Datum.DTOCint(tdDate AS DATE) String = My.Functions.Datum.DTOCint(tdDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,liTime AS Integer,lnTime AS Number,lcDate AS String */ So gehts schneller loDatum = My.Functions.Datum lcDate = loDatum.DTOCint(DATE()) && Datum in der Form von {^YYYY-MM-DD}
Datetime = My.Functions.Datum.DZ2T(tdDatum AS Date,tcZeit AS String) Datetime = My.Functions.Datum.DZ2T(tdDatum,tcZeit)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ltDateTime AS DateTime */ So gehts schneller, wenn ein REPLACE benutzt wird loDatum = My.Functions.Datum ltDateTime = loDatum.DZ2T({^2013-05-12},'15:25:30') && 12.05.2013 15:25:30
Rückgabe:[Datetime], Wandelt einen getrennten Datums und Zeitwert (Sekunden nach Mitternacht) in einen cDateTime Wert um.
Datetime = My.Functions.Datum.DaS2cDT(tnSeconds AS INTEGER, tdDatum AS DATE, tlDTFormat AS Boolean) Datetime = My.Functions.Datum.DaS2cDT(tnSeconds,tdDatum,tlDTFormat)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,lcDate AS String,ltDate AS Datetime */ So gehts schneller loDatum = My.Functions.Datum */ Wandelt einen getrennten Datums und Zeitwert (Sekunden nach Mitternacht) in einen cDateTime Wert um. lcDate= loDatum.DaS2cDT(25000,DATE(),.F.) && Datum und Uhrzeit in String ltDate= loDatum.DaS2cDT(25000,DATE(),.T.) && Datum und Uhrzeit in DateTime
Zählt solange einen Tag vom Datum ab, bis DOW() davon in Arbeitstagen enthalten ist. Je nach erweiterter Klasse sind diese Methoden unterschiedlich.
Variant = My.Functions.Datum.Date_Minus(tcIdc14 AS STRING,tpDate AS DATE) Variant = My.Functions.Datum.Date_Minus(tcIdc14,tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate AS Date,tcIdc14 AS String,tdDate AS Date */ So gehts schneller loDatum = My.Functions.Datum tcIdc14 = "DE" && Betriebskalender der Tabelle C14/C15 tdDate = {^2012-05-01} && 01. Mai 2012, Feiertag lt. deutschem Kalender ldDate = loDatum.Date_Minus(m.tcIdc14,m.tdDate) && Gibt 30.04.2012 zurück
Zählt solange einen Tag zu Datum dazu, bis DOW() davon in Arbeitstagen enthalten ist. Je nach erweiterter Klasse sind diese Methoden unterschiedlich.
Variant = My.Functions.Datum.Date_Plus(tcIdc14 AS STRING,tpDate AS DATE) Variant = My.Functions.Datum.Date_Plus(tcIdc14,tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate AS Date,tcIdc14 AS String,tdDate AS Date */ So gehts schneller loDatum = My.Functions.Datum tcIdc14 = "DE" && Betriebskalender der Tabelle C14/C15 tdDate = {^2012-05-01} && 01. Mai 2012, Feiertag lt. deutschem Kalender ldDate = loDatum.Date_Plus(m.tcIdc14,m.tdDate) && Gibt 02.05.2012 zurück
Returnwert: [Integer], Berechnet die Anzahl der Arbeitstage zwischen zwei Datumsangaben.
Integer = My.Functions.Datum.DaysBetweenDatesWd(tcIdc14 AS STRING,tdDate1 AS DATE,tdDate2 AS DATE) Integer = My.Functions.Datum.DaysBetweenDatesWd(tcIdc14,tdDate1,tdDate2)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,liDays AS Integer,liDaysN AS Integer */ So gehts schneller loDatum = My.Functions.Datum */ Berechnen der Arbeitstage zwischen zwei Datumsangaben liDays = loDatum.DaysBetweenDatesWd("DE",{^2012-04-25},{^2012-05-05}) && Rückgabe: 6 liDaysN = {^2012-05-05} - {^2012-04-25} && Rückgabe: 10
Rückgabe: [Date], Berechnung des BETR_KAL des angegebenen Kalenders. tiDays>=0, tiArt=1 - Zukunft sonst Vergangenheit
Date = My.Functions.Datum.DaysFromDateWd(tcIdc14 AS STRING,tdDate AS DATE,tiDays AS INTEGER,tiArt AS INTEGER) Date = My.Functions.Datum.DaysFromDateWd(tcIdc14,tdDate,tiDays,tiArt)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Berechnen eines Enddatums bei Vorgabe eines Startdatums und der Arbeitstage(n) */ DaysFromDateWd([cKalender],[dStartdatum],[nTage],[nArt,1=Zukunft]) ldDate = loDatum.DaysFromDateWd("DE",{^2012-04-25},6,1) && Rückgabe: 04.05.2012
String = My.Functions.Datum.DtoSC(tdDatum AS Date) String = My.Functions.Datum.DtoSC(tdDatum)
Rückgabe:[Date], Erster Tag des Geschäftsjahres. Siehe auch Firmenparameter...
Date = My.Functions.Datum.FoGY(tpDate AS Variant) Date = My.Functions.Datum.FoGY(tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date */ So gehts schneller loDatum = My.Functions.Datum ldDate1 = loDatum.FoGY(2012) && Gibt den Ersten Tag im Geschäftsjahr zurück. Siehe Firmenparameter! ldDate2 = loDatum.FoGY({^2012-05-01}) && Gibt den Ersten Tag im Geschäftsjahr zurück. Siehe Firmenparameter!
Rückgabe:[Date], Erster Arbeitstag des Geschäftsjahres. Siehe auch Firmenparameter...
Date = My.Functions.Datum.FoGYwd(tcIdc14 AS STRING,tpDate AS Variant) Date = My.Functions.Datum.FoGYwd(tcIdc14,tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date */ So gehts schneller loDatum = My.Functions.Datum ldDate1 = loDatum.FoGYwd("DE",2012) && Gibt den Ersten Tag im Geschäftsjahr zurück. Siehe Firmenparameter! ldDate2 = loDatum.FoGYwd("DE",{^2012-05-01}) && Gibt den Ersten Tag im Geschäftsjahr zurück. Siehe Firmenparameter! */ Gleiche Funktion wie FoGY, jedoch wird der Betriebskalender abgefragt. */ Fällt der erste Tag auf einen Feiertag, so wird mit Date_Plus() gearbeitet.
Returnwert: [Date], Berechnet den ersten Tag im Halbjahr tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Foh(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Foh(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags des angegebenen Halbjahres ldDate1 = loDatum.Foh(1,2012) && Foh([nHalbjahr,1|2],nJahr) ldDate2 = loDatum.Foh({^2012-04-20}) && Foh([dDate]) */ Rückgabe des "ersten" Arbeitstags des angegebenen Halbjahres incl. Betriebskalender ldDate1WD = loDatum.FohWd("DE",1,2012) && FohWd([cKalender],[nHalbjahr,1|2],nJahr) ldDate2WD = loDatum.FohWd("DE",{^2012-04-20}) && FohWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ersten Arbeitstag im Halbjahr tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.FohWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.FohWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags des angegebenen Halbjahres ldDate1 = loDatum.Foh(1,2012) && Foh([nHalbjahr,1|2],nJahr) ldDate2 = loDatum.Foh({^2012-04-20}) && Foh([dDate]) */ Rückgabe des "ersten" Arbeitstags des angegebenen Halbjahres incl. Betriebskalender ldDate1WD = loDatum.FohWd("DE",1,2012) && FohWd([cKalender],[nHalbjahr,1|2],nJahr) ldDate2WD = loDatum.FohWd("DE",{^2012-04-20}) && FohWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ERSTEN tag im Monat tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Fom(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Fom(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags des angegebenen Monats ldDate1 = loDatum.Fom(1,2012) && Fom([nMonat,1|2|3|...|12],nJahr) ldDate2 = loDatum.Fom({^2012-01-20}) && Fom([dDate]) */ Rückgabe des "ersten" Arbeitstags des angegebenen Monats incl. Betriebskalender ldDate1WD = loDatum.FomWd("DE",1,2012) && FomWd([cKalender],[nMonat,1|2|3|...|12],nJahr) ldDate2WD = loDatum.FomWd("DE",{^2012-01-20}) && FomWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ersten Arbeitstag im Monat tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.FomWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.FomWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags des angegebenen Monats ldDate1 = loDatum.Fom(1,2012) && Fom([nMonat,1|2|3|...|12],nJahr) ldDate2 = loDatum.Fom({^2012-01-20}) && Fom([dDate]) */ Rückgabe des "ersten" Arbeitstags des angegebenen Monats incl. Betriebskalender ldDate1WD = loDatum.FomWd("DE",1,2012) && FomWd([cKalender],[nMonat,1|2|3|...|12],nJahr) ldDate2WD = loDatum.FomWd("DE",{^2012-01-20}) && FomWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ersten Tag im Quartal tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Foq(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Foq(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags des angegebenen Quartals ldDate1 = loDatum.Foq(1,2012) && Foq([nQuartal,1|2|3|4],nJahr) ldDate2 = loDatum.Foq({^2012-01-20}) && Foq([dDate]) */ Rückgabe des "ersten" Arbeitstags des angegebenen Quartals incl. Betriebskalender ldDate1WD = loDatum.FoqWd("DE",1,2012) && FoqWd([cKalender],[nQuartal,1|2|3|4],nJahr) ldDate2WD = loDatum.FoqWd("DE",{^2012-01-20}) && FoqWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ersten Arbeitstag im Quartal tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.FoqWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.FoqWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags des angegebenen Quartals ldDate1 = loDatum.Foq(1,2012) && Foq([nQuartal,1|2|3|4],nJahr) ldDate2 = loDatum.Foq({^2012-01-20}) && Foq([dDate]) */ Rückgabe des "ersten" Arbeitstags des angegebenen Quartals incl. Betriebskalender ldDate1WD = loDatum.FoqWd("DE",1,2012) && FoqWd([cKalender],[nQuartal,1|2|3|4],nJahr) ldDate2WD = loDatum.FoqWd("DE",{^2012-01-20}) && FoqWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ersten Tag der Woche tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Fow(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Fow(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags der angegebenen Woche ldDate1 = loDatum.Fow(1,2012) && Fow([nQuartal,1|2|...|52],nJahr) ldDate2 = loDatum.Fow({^2012-01-03}) && Fow([dDate]) */ Rückgabe des "ersten" Arbeitstags der angegebenen Woche incl. Betriebskalender ldDate1WD = loDatum.FowWd("DE",1,2012) && FowWd([cKalender],[nWoche,1|2|...|52],nJahr) ldDate2WD = loDatum.FowWd("DE",{^2012-01-03}) && FowWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ersten Arbeitstag der Woche tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.FowWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.FowWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags der angegebenen Woche ldDate1 = loDatum.Fow(1,2012) && Fow([nQuartal,1|2|...|52],nJahr) ldDate2 = loDatum.Fow({^2012-01-03}) && Fow([dDate]) */ Rückgabe des "ersten" Arbeitstags der angegebenen Woche incl. Betriebskalender ldDate1WD = loDatum.FowWd("DE",1,2012) && FowWd([cKalender],[nWoche,1|2|...|52],nJahr) ldDate2WD = loDatum.FowWd("DE",{^2012-01-03}) && FowWd([cKalender],[dDate])
Returnwert: [Date] Berechnet den ersten Tag im Jahr tpDate=[DT|I].
Date = My.Functions.Datum.Foy(tpDate AS Variant) Date = My.Functions.Datum.Foy(tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags der angegebenen Woche ldDate1 = loDatum.Foy(2012) && Foy([nJahr]) ldDate2 = loDatum.Foy({^2012-01-03}) && Foy([dDate]) */ Rückgabe des "ersten" Arbeitstags der angegebenen Woche incl. Betriebskalender ldDate1WD = loDatum.FoyWd("DE",2012) && FoyWd([cKalender],[nJahr]) ldDate2WD = loDatum.FoyWd("DE",{^2012-01-03}) && FoyWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den ersten Arbeitstag im Jahr tpDate=[DT|I]
Date = My.Functions.Datum.FoyWd(tcIdc14 AS STRING,tpDate AS Variant) Date = My.Functions.Datum.FoyWd(tcIdc14,tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "ersten" Tags der angegebenen Woche ldDate1 = loDatum.Foy(2012) && Foy([nJahr]) ldDate2 = loDatum.Foy({^2012-01-03}) && Foy([dDate]) */ Rückgabe des "ersten" Arbeitstags der angegebenen Woche incl. Betriebskalender ldDate1WD = loDatum.FoyWd("DE",2012) && FoyWd([cKalender],[nJahr]) ldDate2WD = loDatum.FoyWd("DE",{^2012-01-03}) && FoyWd([cKalender],[dDate])
Date = My.Functions.Datum.GetDosDate(tiDate AS Integer) Date = My.Functions.Datum.GetDosDate(tiDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate AS DATE */ So gehts schneller, wenn ein REPLACE benutzt wird loDatum = My.Functions.Datum ldDate = loDatum.GetDosDate(17153) && 01.08.2013
String = My.Functions.Datum.GetDosTime(tiTime AS Integer) String = My.Functions.Datum.GetDosTime(tiTime)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tcTime AS STRING */ So gehts schneller, wenn ein REPLACE benutzt wird loDatum = My.Functions.Datum tcTime = loDatum.GetDosTime(7200) && '03:33:00'
Returnwert: [Integer], Ermittelt die angegebenen DEUTSCHEN Feiertage für das angegebene Jahr tiYear. Die Freiertage können in aHolyDays(n,m) abgefragt werden.
Integer = My.Functions.Datum.GetGermanDays(tiJahr AS INTEGER,tc_2412_3112 AS STRING) Integer = My.Functions.Datum.GetGermanDays(tiJahr,tc_2412_3112)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,lni AS Integer,laArray[1] */ So gehts schneller loDatum = My.Functions.Datum */ Anzeige der Bundesländerkürzel WAIT WINDOW loDatum.CountryHelp */ Setzen des Bundeslandes loDatum.Country = "SL" && Für Saarland */ Ermitteln der Feiertage für das angegebene Bundesland */ Gültiger Zeitraum des Kalenders: 1900 - 2100 lni = loDatum.GetGermanDays(2012,"24,31") && Incl. dem 24.12. und 31.12. */ Prüfung IF m.lni>0 */ In ein lokales Array kopieren =ACOPY(loDatum.aHolyDays,laArray) */ Struktur von laArray[n,2] */ laArray[n,1] = [D] , Feiertag */ laArray[n,2] = [C] , Beschreibung des Feiertags */ Erstellen einer Textdatei mit dem Inhalt des Arrays DISPLAY MEMORY TO FILE (My.Clients.Path.cTmpDir+"Saarländische-Feiertage.txt") LIKE laArra* NOCONSOLE */ Editieren der Datei MODIFY FILE (My.Clients.Path.cTmpDir+"Saarländische-Feiertage.txt") ENDIF
Returnwert: [Date], Wie GOMONTH(tdDate,tnMonth) jedoch wird auch die Mitte berechnet 8
Date = My.Functions.Datum.GotoMonth(tdDate AS DATE,tnMonth AS INTEGER) Date = My.Functions.Datum.GotoMonth(tdDate,tnMonth)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des Monatsanfangs (01.) ldDate1 = loDatum.GotoMonth({^2012-01-07},1) && 01.02.2012 ldDate2 = loDatum.GotoMonthWd("DE",{^2012-01-07},1) && 01.02.2012 */ Rückgabe der Monatsmitte (15.) ldDate1 = loDatum.GotoMonth({^2012-01-13},1) && 15.02.2012 ldDate2 = loDatum.GotoMonthWd("DE",{^2012-01-13},1) && 15.02.2012 */ Rückgabe der Monatsende (15.) ldDate1 = loDatum.GotoMonth({^2012-01-25},1) && 29.02.2012 ldDate2 = loDatum.GotoMonthWd("DE",{^2012-01-25},1) && 29.02.2012 */ Bei GotoMonthWd() gibt es einen DRITTEN Parameter der Boolean ist! */ .T. - Wenn das errechnete Datum ein Feiertag ist, rechne Date_Minus() */ .F. - (Standard), wenn das errechnete Datum ein Feiertag ist, rechne Date_Plus()
Returnwert: [Date], Wie GoToMonth() jedoch werden auch die Arbeitstage berechnet. Standard wird bei MoM() PLUS gerechnet!
Date = My.Functions.Datum.GotoMonthWd(tcIdc14 AS STRING,tdDate AS DATE,tnMonth AS INTEGER,tlMomMinus AS Boolean) Date = My.Functions.Datum.GotoMonthWd(tcIdc14,tdDate,tnMonth,tlMomMinus)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des Monatsanfangs (01.) ldDate1 = loDatum.GotoMonth({^2012-01-07},1) && 01.02.2012 ldDate2 = loDatum.GotoMonthWd("DE",{^2012-01-07},1) && 01.02.2012 */ Rückgabe der Monatsmitte (15.) ldDate1 = loDatum.GotoMonth({^2012-01-13},1) && 15.02.2012 ldDate2 = loDatum.GotoMonthWd("DE",{^2012-01-13},1) && 15.02.2012 */ Rückgabe der Monatsende (15.) ldDate1 = loDatum.GotoMonth({^2012-01-25},1) && 29.02.2012 ldDate2 = loDatum.GotoMonthWd("DE",{^2012-01-25},1) && 29.02.2012 */ Bei GotoMonthWd() gibt es einen DRITTEN Parameter der Boolean ist! */ .T. - Wenn das errechnete Datum ein Feiertag ist, rechne Date_Minus() */ .F. - (Standard), wenn das errechnete Datum ein Feiertag ist, rechne Date_Plus()
Boolean = My.Functions.Datum.IsDayOfC15(tcIdc14 AS STRING,tpDate AS DATE) Boolean = My.Functions.Datum.IsDayOfC15(tcIdc14,tpDate)
String = My.Functions.Datum.IsDayOfC15R(tcIdc14 AS STRING,tpDate AS DATE) String = My.Functions.Datum.IsDayOfC15R(tcIdc14,tpDate)
Rückgabe:[Date], Letzter Tag des Geschäftsjahres. Siehe auch Firmenparameter...
Date = My.Functions.Datum.LoGY(tpDate AS Variant) Date = My.Functions.Datum.LoGY(tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Geschäftsjahres ldDate1 = loDatum.LoGy(2012) && LoGy([nJahr]) ldDate2 = loDatum.LoGy({^2012-01-03}) && LoGy([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Geschäftsjahres incl. Betriebskalender ldDate1WD = loDatum.LoGyWd("DE",2012) && LoGyWd([cKalender],[nJahr]) ldDate2WD = loDatum.LoGyWd("DE",{^2012-01-03}) && LoGyWd([cKalender],[dDate])
Rückgabe:[Date], Letzter Arbeitstag des Geschäftsjahres. Siehe auch Firmenparameter...
Date = My.Functions.Datum.LoGYwd(tcIdc14 AS STRING,tpDate AS Variant) Date = My.Functions.Datum.LoGYwd(tcIdc14,tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Geschäftsjahres ldDate1 = loDatum.LoGy(2012) && LoGy([nJahr]) ldDate2 = loDatum.LoGy({^2012-01-03}) && LoGy([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Geschäftsjahres incl. Betriebskalender ldDate1WD = loDatum.LoGyWd("DE",2012) && LoGyWd([cKalender],[nJahr]) ldDate2WD = loDatum.LoGyWd("DE",{^2012-01-03}) && LoGyWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Tag im Halbjahr tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Loh(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Loh(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Halbjahres ldDate1 = loDatum.Loh(1,2012) && Loh([nHalbjahr,1|2],[nJahr]) ldDate2 = loDatum.Loh({^2012-01-03}) && Loh([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Halbjahres incl. Betriebskalender ldDate1WD = loDatum.LohWd("DE",1,2012) && LohWd([cKalender],[nHalbjahr,1|2],[nJahr]) ldDate2WD = loDatum.LohWd("DE",{^2012-01-03}) && LohWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Arbeitstag im Halbjahr tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.LohWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.LohWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Halbjahres ldDate1 = loDatum.Loh(1,2012) && Loh([nHalbjahr,1|2],[nJahr]) ldDate2 = loDatum.Loh({^2012-01-03}) && Loh([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Halbjahres incl. Betriebskalender ldDate1WD = loDatum.LohWd("DE",1,2012) && LohWd([cKalender],[nHalbjahr,1|2],[nJahr]) ldDate2WD = loDatum.LohWd("DE",{^2012-01-03}) && LohWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den Letzten Tag im Monat tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Lom(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Lom(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Monats ldDate1 = loDatum.Lom(1,2012) && Lom([nMonat,1|2|3|...|12],[nJahr]) ldDate2 = loDatum.Lom({^2012-01-03}) && Lom([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Monats incl. Betriebskalender ldDate1WD = loDatum.LomWd("DE",1,2012) && LomWd([cKalender],[nMonat,1|2|3|...|12],[nJahr]) ldDate2WD = loDatum.LomWd("DE",{^2012-01-03}) && LomWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Arbeitstag im Monat tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.LomWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.LomWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Monats ldDate1 = loDatum.Lom(1,2012) && Lom([nMonat,1|2|3|...|12],[nJahr]) ldDate2 = loDatum.Lom({^2012-01-03}) && Lom([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Monats incl. Betriebskalender ldDate1WD = loDatum.LomWd("DE",1,2012) && LomWd([cKalender],[nMonat,1|2|3|...|12],[nJahr]) ldDate2WD = loDatum.LomWd("DE",{^2012-01-03}) && LomWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Arbeitstag im Quartal tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Loq(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Loq(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Quartals ldDate1 = loDatum.Loq(1,2012) && Loq([nQuartal,1|2|3|4],[nJahr]) ldDate2 = loDatum.Loq({^2012-01-03}) && Loq([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Quartals incl. Betriebskalender ldDate1WD = loDatum.LoqWd("DE",1,2012) && LoqWd([cKalender],[nQuartal,1|2|3|4],[nJahr]) ldDate2WD = loDatum.LoqWd("DE",{^2012-01-03}) && LoqWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Arbeitstag im Quartal tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.LoqWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.LoqWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Quartals ldDate1 = loDatum.Loq(1,2012) && Loq([nQuartal,1|2|3|4],[nJahr]) ldDate2 = loDatum.Loq({^2012-01-03}) && Loq([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Quartals incl. Betriebskalender ldDate1WD = loDatum.LoqWd("DE",1,2012) && LoqWd([cKalender],[nQuartal,1|2|3|4],[nJahr]) ldDate2WD = loDatum.LoqWd("DE",{^2012-01-03}) && LoqWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Tag der Woche tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Low(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Low(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags der angegebenen Woche ldDate1 = loDatum.Low(1,2012) && Low([nWoche,1|2|3|...|52],[nJahr]) ldDate2 = loDatum.Low({^2012-01-03}) && Low([dDate]) */ Rückgabe des "letzten" Arbeitstags der angegebenen Woche incl. Betriebskalender ldDate1WD = loDatum.LowWd("DE",1,2012) && LowWd([cKalender],[nWoche,1|2|3|...|52],[nJahr]) ldDate2WD = loDatum.LowWd("DE",{^2012-01-03}) && LowWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Arbeitstag der Woche tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.LowWd(tcIdc14 AS STRING,tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.LowWd(tcIdc14,tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags der angegebenen Woche ldDate1 = loDatum.Low(1,2012) && Low([nWoche,1|2|3|...|52],[nJahr]) ldDate2 = loDatum.Low({^2012-01-03}) && Low([dDate]) */ Rückgabe des "letzten" Arbeitstags der angegebenen Woche incl. Betriebskalender ldDate1WD = loDatum.LowWd("DE",1,2012) && LowWd([cKalender],[nWoche,1|2|3|...|52],[nJahr]) ldDate2WD = loDatum.LowWd("DE",{^2012-01-03}) && LowWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Tag im Jahr tpDate=[DT|I]
Date = My.Functions.Datum.Loy(tpDate AS Variant) Date = My.Functions.Datum.Loy(tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Jahres ldDate1 = loDatum.Loy(2012) && Loy([nJahr]) ldDate2 = loDatum.Loy({^2012-01-03}) && Loy([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Jahres incl. Betriebskalender ldDate1WD = loDatum.LoyWd("DE",2012) && LoyWd([cKalender],[nJahr]) ldDate2WD = loDatum.LoyWd("DE",{^2012-01-03}) && LoyWd([cKalender],[dDate])
Returnwert: [Date], Berechnet den letzten Arbeitstag im Jahr tpDate=[DT|I]
Date = My.Functions.Datum.LoyWd(tcIdc14 AS STRING,tpDate AS Variant) Date = My.Functions.Datum.LoyWd(tcIdc14,tpDate)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe des "letzten" Tags des angegebenen Jahres ldDate1 = loDatum.Loy(2012) && Loy([nJahr]) ldDate2 = loDatum.Loy({^2012-01-03}) && Loy([dDate]) */ Rückgabe des "letzten" Arbeitstags des angegebenen Jahres incl. Betriebskalender ldDate1WD = loDatum.LoyWd("DE",2012) && LoyWd([cKalender],[nJahr]) ldDate2WD = loDatum.LoyWd("DE",{^2012-01-03}) && LoyWd([cKalender],[dDate])
Returnwert: [Integer], Berechnet die Monate zwischen zwei Datumsangaben. Gleicher Monat=0
Integer = My.Functions.Datum.MbD(tdDate1 AS DATE,tdDate2 AS DATE) Integer = My.Functions.Datum.MbD(tdDate1,tdDate2)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tnDays AS Interger */ So gehts schneller loDatum = My.Functions.Datum tnDays = loDatum.MbD(DATE()-100,DATE()) && 4
Rückgabe:[Number], Monate zwischen zwei Datumsangaben incl. Prüfung des Tages.
Number = My.Functions.Datum.MbDay(tdDate1 AS DATE,tdDate2 AS DATE) Number = My.Functions.Datum.MbDay(tdDate1,tdDate2)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tnDays AS Interger */ So gehts schneller loDatum = My.Functions.Datum tnDays = loDatum.MbDay(DATE()-100,DATE()) && 3
Returnwert: [Date], Berechnet die Mitte des Monats (15te.) tpDate=[DT|I],tnYear=[I]
Date = My.Functions.Datum.Mom(tpDate AS Variant,tnYear AS INTEGER) Date = My.Functions.Datum.Mom(tpDate,tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe der Mitte des angegebenen Monats ldDate1 = loDatum.Mom(1,2012) && Mom([nMonat,1|2|3|...|12],[nJahr]) ldDate2 = loDatum.Mom({^2012-01-03}) && Mom([dDate]) */ Rückgabe der Mitte des angegebenen Monats incl. Betriebskalender ldDate1WD = loDatum.MomWd("DE",1,2012) && MomWd([cKalender],[nMonat,1|2|3|...|12],[nJahr]) ldDate2WD = loDatum.MomWd("DE",{^2012-01-03}) && MomWd([cKalender],[dDate]) */ Auch hier enthält MomWd() wieder einen DRITTEN Parameter! */ .T. - Bei einem Feiertag wird Date_Minus() gerechnet */ .F. - Bei einem Feiertag wird Date_Plus() gerechnet (Standard)
Returnwert: [Date], Berechnet die Mitte des Monats (15te.) tpDate=[DT|I], tnYear=[I], tlMomMinus=[L]. STandard wird PLUS berechnet, wenn der 15te. kein Arbeitstag ist!
Date = My.Functions.Datum.MomWd(tcIdc14 AS STRING,tdDate AS DATE,tnYear AS INTEGER,tlMomMinus AS Boolean) Date = My.Functions.Datum.MomWd(tcIdc14,tdDate,tnYear,tlMomMinus)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate1 AS Date,ldDate2 AS Date,ldDate1WD AS Date,ldDate2WD AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Rückgabe der Mitte des angegebenen Monats ldDate1 = loDatum.Mom(1,2012) && Mom([nMonat,1|2|3|...|12],[nJahr]) ldDate2 = loDatum.Mom({^2012-01-03}) && Mom([dDate]) */ Rückgabe der Mitte des angegebenen Monats incl. Betriebskalender ldDate1WD = loDatum.MomWd("DE",1,2012) && MomWd([cKalender],[nMonat,1|2|3|...|12],[nJahr]) ldDate2WD = loDatum.MomWd("DE",{^2012-01-03}) && MomWd([cKalender],[dDate]) */ Auch hier enthält MomWd() wieder einen DRITTEN Parameter! */ .T. - Bei einem Feiertag wird Date_Minus() gerechnet */ .F. - Bei einem Feiertag wird Date_Plus() gerechnet (Standard)
Date = My.Functions.Datum.Ostern(tiYear AS INTEGER) Date = My.Functions.Datum.Ostern(tiYear)
Date = My.Functions.Datum.SCtoD(tcShortDate AS String) Date = My.Functions.Datum.SCtoD(tcShortDate)
Returnwert: [Integer], Gibt die Sekunden eines T Ausdrucks zurück.
Integer = My.Functions.Datum.SFDT(ttDateTime AS DATETIME) Integer = My.Functions.Datum.SFDT(ttDateTime)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,liSeconds AS Integer */ So gehts schneller loDatum = My.Functions.Datum liSeconds = loDatum.SFDT({^2012-04-04T13:30:30}) && Rückgabe: 48630 (Sekunden seit Mitternacht)
Returnwert: [Date], Wandelt das Format JJJJMMTT in ein Datum [D] um. Umkehrfunktion zu DTOS(dDate)
Übergabeparameter: "YYYYMMDD"
Date = My.Functions.Datum.STOD(tcDTOS AS STRING) Date = My.Functions.Datum.STOD(tcDTOS)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDate AS Date,lcDate AS String */ So gehts schneller loDatum = My.Functions.Datum lcDate = DTOS({^2012-04-24}) && Ergibt: "20120424" ldDate = loDatum.STOD(m.lcDate) && Ergibt: 24.04.2012
Rückgabe:[Datetime], Gibt einen DateTime Wert aufgrund eines Systemwertes zurück.
Übergabeparameter: "YYYYMMDDHHMMSS"
Datetime = My.Functions.Datum.STOT(tcDts AS STRING) Datetime = My.Functions.Datum.STOT(tcDts)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ltDate AS Datetime,lcDate AS String */ So gehts schneller loDatum = My.Functions.Datum lcDate = TTOC({^2012-04-24T13:30:00},1) && Ergibt: "20120424133000" ltDate = loDatum.STOT(m.lcDate) && Ergibt: 24.04.2012
Integer = My.Functions.Datum.SetDosDate(tdDate AS Date) Integer = My.Functions.Datum.SetDosDate(tdDate)
*/ Umkehrfunktion zu GetDosDate()
Integer = My.Functions.Datum.SetDosTime(tvTime AS Variant,tcT AS String) Integer = My.Functions.Datum.SetDosTime(tvTime,tcT)
*/ Umkehrfunktion zu GetDosTime()
Setzt den Feiertag in aHolyDays(n,m). Prüfung auf das Bundesland erfolgt... Siehe auch THIS.Country
Variant = My.Functions.Datum.SetHolyDay(tdDate AS DATE,tcWhat AS STRING) Variant = My.Functions.Datum.SetHolyDay(tdDate,tcWhat)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tdDAte AS DATE,tcTime AS STRING */ So gehts schneller loDatum = My.Functions.Datum =loDatum.SetHolyDay({14.04.1969},'Mein Geburtstag...')
Variant = My.Functions.Datum.T2DZ(ttDateTime AS Datetime,tcWhat AS String,RdDate AS Date @,RcTime AS String @) Variant = My.Functions.Datum.T2DZ(ttDateTime,tcWhat,@RdDate,@RcTime)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tdDAte AS DATE,tcTime AS STRING */ So gehts schneller loDatum = My.Functions.Datum [DATE] = loDatum.T2DZ(DATETIME(),"D",@tdDate,@tcTime) [STRING] = loDatum.T2DZ(DATETIME(),"T",@tdDate,@tcTime)
Datetime = My.Functions.Datum.T2TZ(ttLocal AS Datetime) Datetime = My.Functions.Datum.T2TZ(ttLocal)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ttZulu AS DateTime */ So gehts schneller loDatum = My.Functions.Datum ttZulu = loDatum.T2TZ(DATETIME()) && Während Sommerzeit: -2 Stunden
String = My.Functions.Datum.T2cTZ(ttLocal AS Datetime) String = My.Functions.Datum.T2cTZ(ttLocal)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tcZulu AS String */ So gehts schneller loDatum = My.Functions.Datum tcZulu = loDatum.T2cTZ(DATETIME()) && Während Sommerzeit: -2 Stunden
Rückgabe: [Number], wandelt eine 60 Sekundenangabe in 100 Sekundenangabe um.
Number = My.Functions.Datum.TTOAT(tnTTime AS NUMBER) Number = My.Functions.Datum.TTOAT(tnTTime)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,lnTime AS Number */ So gehts schneller loDatum = My.Functions.Datum lnTime = loDatum.TTOAT(45.45) && Rückgabe: 75.75 */ nMinuten60.nSekunden60, 45 Minuten und 45 Sekunden
Rückgabe: [Strig], Wandelt einen DateTime() Wert in einen internationalen String um. Ohne Stringbegrenzung!
Strig = My.Functions.Datum.TTOCint(ttDateTime AS DATETIME) Strig = My.Functions.Datum.TTOCint(ttDateTime)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,lcDateTime AS String */ So gehts schneller loDatum = My.Functions.Datum lcDateTime = loDatum.TTOCint(DATETIME()) && Format: [C] - {^YYYY-MM-DDThh:mm:ss}
Datetime = My.Functions.Datum.TZ2T(ttZulu AS Datetime) Datetime = My.Functions.Datum.TZ2T(ttZulu)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ttLocal AS DateTime */ So gehts schneller loDatum = My.Functions.Datum ttLocal = loDatum.TZ2T(DATETIME()-7200) && Während Sommerzeit: -2 Stunden (7200 Sekunden)
String = My.Functions.Datum.TZ2cTZ(ttZulu AS Datetime,tlNoMilliSeconds AS Boolean) String = My.Functions.Datum.TZ2cTZ(ttZulu,tlNoMilliSeconds)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ttZulu AS DateTime,tcZulu AS STRING */ So gehts schneller loDatum = My.Functions.Datum ttZulu = loDatum.T2TZ(DATETIME()) && Während Sommerzeit: -2 Stunden (7200 Sekunden) tcZulu = loDatum.TZ2cTZ(m.ttZulu) && YYYY-MM-DDThh:mm:ss.000Z
Returnwert: [String], Gibt die Zeitdifferenz zwischen zwei Zeiten im Format HH:MM:SS zurück. cTime1&2 = HH:MM:SS. Trenner nach Vorgabe von Time1
String = My.Functions.Datum.TbTc(tcTime1 AS STRING,tcTime2 AS STRING) String = My.Functions.Datum.TbTc(tcTime1,tcTime2)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tcTime AS String */ So gehts schneller loDatum = My.Functions.Datum tcTime = loDatum.TbTc('15:25:00','12:15:00') && '03:10:00'
Rückgabe:[Object], Gibt ein System-Zeitzonen Objekt zurück
Object = My.Functions.Datum.TimeZoneInfo(tnYear AS Integer) Object = My.Functions.Datum.TimeZoneInfo(tnYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,loTimeZone AS Object,lcTimeZone AS String */ So gehts schneller loDatum = My.Functions.Datum */ Gibt ein Systemzeit Zeitzonen Objekt zurück loTimeZone = loDatum.TimeZoneInfo() IF VARTYPE(loTimeZone)="O" */ Dann lassen wir uns das Objekt in einen String umwandeln lcTimeZone = My.Functions.fOTS.ObjectToString(m.loTimeZone) */ Anzeige des Zeitzonen Objekts =MESSAGEBOX(m.lcTimeZone,64,"Zeitzonen Objekt!") ENDIF
Returnwert: [Integer], Berechnet die Kalenderwoche des Datums tpDate=[DT]
Integer = My.Functions.Datum.Wod(tpDate AS DATE,tlWithYear AS Boolean) Integer = My.Functions.Datum.Wod(tpDate,tlWithYear)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,liWeek AS Integer,lcWeek AS String */ So gehts schneller loDatum = My.Functions.Datum */ Berechnen der Kalenderwoche aus einem Datum (Deutschland) liWeek = loDatum.Wod({^2012-04-24}) && Rückgabe: 17 lcWeek = loDatum.Wod({^2012-04-24},.T.) && Rückgabe: 17/2012 */ Hierbei sind auch die Datumsfehler von MS ausgebügelt bezüglich der */ Berechnung der Kalenderwoche in Österreich!
Variant = My.Functions.Datum.cDowE(ttDate AS DATE) Variant = My.Functions.Datum.cDowE(ttDate)
Variant = My.Functions.Datum.cMonthE(ttDate AS Date) Variant = My.Functions.Datum.cMonthE(ttDate)
Datetime = My.Functions.Datum.cTZ2T(tcZulu AS String) Datetime = My.Functions.Datum.cTZ2T(tcZulu)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ttLocal AS DateTime */ So gehts schneller loDatum = My.Functions.Datum ttLocal = loDatum.cTZ2T('2013-05-12T15:35:00.000Z') && 12.05.2013 17:35:00 (Für Deutschland)
Datetime = My.Functions.Datum.cTZ2TZ(tcZulu AS String) Datetime = My.Functions.Datum.cTZ2TZ(tcZulu)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ttZulu AS DateTime */ So gehts schneller loDatum = My.Functions.Datum ttZulu = loDatum.cTZ2TZ('2013-05-12T15:35:00.000Z') && 12.05.2013 15:35:00
Rückgabe:[Number], Wandelt einen Zeitausdruck HH:MM:SS in den entsprechenden num. Wert um. tcWhat = "S" - Sekunden, "M" - Minuten, "H" - Stunden
Number = My.Functions.Datum.cTime2nTime(tcTime AS STRING,tcWhat AS STRING) Number = My.Functions.Datum.cTime2nTime(tcTime,tcWhat)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tnTime AS Number */ So gehts schneller loDatum = My.Functions.Datum tnTime = loDatum.cTime2nTime('15:00:00','H') && 15,0 Stunden tnTime = loDatum.cTime2nTime('15:00:00','M') && 900,0 Minuten tnTime = loDatum.cTime2nTime('15:00:00','S') && 54000,0 Sekunden
Rückgabe:[String], Addiert zwei cTime TIME() Werte und gibt diese im Format HH:MM:SS zurück. Trenner nach Systemvorgabe!
String = My.Functions.Datum.cTimesAdd(tcTime1 AS String, tcTime2 AS String) String = My.Functions.Datum.cTimesAdd(tcTime1,tcTime2)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tcTime AS String */ So gehts schneller loDatum = My.Functions.Datum tcTime = loDatum.cTimesAdd('15:00:00','00:23:35') && '15:23:35'
Rückgabe:[String], Subtrahiert zwei TIME() Werte und gibt das Ergebnis im Format HH:MM:SS zurück. Trenner nach Systemvorgabe
String = My.Functions.Datum.cTimesSub(tcTime1 AS String, tcTime2 AS String) String = My.Functions.Datum.cTimesSub(tcTime1,tcTime2)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tcTime AS String */ So gehts schneller loDatum = My.Functions.Datum tcTime = loDatum.cTimesAdd('15:00:00','00:23:35') && '14:36:25'
Rückgabe:[String], Wandelt eine Sekundenangabe in einen Zeitausdruck um. tcWhat = "S" - tnTime=Sekunden, "M" - tnTime=Minuten, "H" - tnTime=Stunden. tlNoDayTime=.T. => Stunden größer 23 . Trenner nach Systemvorgabe
String = My.Functions.Datum.nTime2cTime(tnTime AS NUMBER, tcWhat AS STRING, tlNoDayTime AS Boolean) String = My.Functions.Datum.nTime2cTime(tnTime,tcWhat,tlNoDayTime)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tcTime AS String */ So gehts schneller loDatum = My.Functions.Datum */ Umkehrfunktion zu cTime2nTime() tcTime = loDatum.nTime2cTime(15.5,'H') && '15:30:00'
Rückgabe:[Number], Subtrahiert zwei C-Zeitangaben und gibt den Wert in S-Sekunden, M-Minuten, H-Stunden zurück. Endzeit - Anfangszeit aus BDE (Beispiel)
Number = My.Functions.Datum.nTimesSub(tcTime1 AS String, tcTime2 AS String, tcWhat AS String) Number = My.Functions.Datum.nTimesSub(tcTime1,tcTime2,tcWhat)
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,tnTime AS Number */ So gehts schneller loDatum = My.Functions.Datum tnTime = loDatum.nTimesSub('15:00:00','00:23:35','H') && 14,6069
Addition zweier Zeiten mit unterschiedlichen Formaten.
Variant = My.Functions.Datum.vTimesAdd(tvTime1 AS Variant,tcT1 AS String,tvTime2 AS Variant,tcT2 AS String,tcTr AS String,tnDays AS Number @) Variant = My.Functions.Datum.vTimesAdd(tvTime1,tcT1,tvTime2,tcT2,tcTr,@tnDays)
*/ Codebeispiele: */ Es werden 1,5 Stunden addiert: Rückgabe = hh:mm:ss cReturn = My.Functions.Datum.vTimesAdd(TIME(),"HMS",1.5,"H","HMS") cReturn = My.Functions.Datum.vTimesAdd(TIME(),"HMS","1:30","HM","HMS") */ Es werden 1,5 Minuten addiert: Rückgabe = hh:mm:ss cReturn = My.Functions.Datum.vTimesAdd(TIME(),"HMS",1.5,"M","HMS") cReturn = My.Functions.Datum.vTimesAdd(TIME(),"HMS","1:30","MS","HMS") */ Es werden 15 Sekunden addiert: Rückgabe = hh:mm:ss cReturn = My.Functions.Datum.vTimesAdd(TIME(),"HMS",25,"S","HMS") */ Mit Mitternachts Sprung... lnDays = 0 cReturn = My.Functions.Datum.vTimesAdd("22:54:00","HMS",1.5,"H","HMS",@lnDays) cReturn = "00:24:00" lnDays = 1 */ Numerische Rückgabe nStunden = My.Functions.Datum.vTimesAdd(TIME(),"HMS",1.5,"H","H") nMinuten = My.Functions.Datum.vTimesAdd(TIME(),"HMS",1.5,"H","M") nSekunden = My.Functions.Datum.vTimesAdd(TIME(),"HMS",1.5,"H","S")
Angabe des Bundeslandes für die Berechnung von Feiertagen. DE - Deutschland, BW - Badenwürtemberg, ... Alle Abkürzungen stehen in THIS.CountryHelp. Siehe dort... Wird kein Filter benötigt, so ist THIS.Country leer.
String = My.Functions.Datum.Country
Hilfe für die Einträge in THIS.Country. Ist THIS.Country = "" so werden alle Feiertage berechnet.
String = My.Functions.Datum.CountryHelp
Wird mit SET("Fdow") im Init der Klasse gesetzt. Der erste Tag der Woche beginnt mit: 1 - Sonntag, 2 - Montag, 3 - Dienstag, ... 7 - Samstag
Number = My.Functions.Datum.FirstDayOfWeek
Wird mit SET("Fweek") im INIT der Klasse gesetzt. Beschreibt wie die ERSTE Woche des Jahres zu berechnen ist. 2 - Erste 4 Tage einer Woche...
Number = My.Functions.Datum.FirstWeek
Rückgabe: [DateTime], gibt das Datum der Umschaltung auf Sommerzeit zurück
DateTime = My.Functions.Datum.TZDateDL
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDateNS AS Date,ldDateSN AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Datum der Umschaltung von Normalzeit auf Sommerzeit ldDateNS = loDatum.TZDateDL && Rückgabe: 25.03.2012 02:00:00 für Deutschland 2012 */ Datum der Umschaltung von Sommerzeit auf Normalzeit ldDateSN = loDatum.TZDateSD && Rückgabe: 28.10.2012 03:00:00 für Deutschland 2012
Rückgabe: [DateTime], gibt das Datum der Umschaltung auf Standardzeit zurück
DateTime = My.Functions.Datum.TZDateSD
*/ Codebeispiel: LOCAL loDatum AS My_Fu_Datum,ldDateNS AS Date,ldDateSN AS Date */ So gehts schneller loDatum = My.Functions.Datum */ Datum der Umschaltung von Normalzeit auf Sommerzeit ldDateNS = loDatum.TZDateDL && Rückgabe: 25.03.2012 02:00:00 für Deutschland 2012 */ Datum der Umschaltung von Sommerzeit auf Normalzeit ldDateSN = loDatum.TZDateSD && Rückgabe: 28.10.2012 03:00:00 für Deutschland 2012
Rückgabe: [Integer], gibt den Zeitversatz in Minuten zu UTC zurück.
DateTime = My.Functions.Datum.TZbias
Rückgabe: [Integer], gibt den Zeitversatz in Minuten zu UTC zurück. Sommerzeit.
DateTime = My.Functions.Datum.TZbiasDL
Rückgabe:[Interger], Gibt den Zeitversatz in Minuten zu UTC zurück IN DIESEM MOMENT.
DateTime = My.Functions.Datum.TZbiasNow
Welche Wochentage werden als Arbeitstage gewertet. Wird für einige Berechnungsfunktionen genutzt. !Diese Klasse hat keinen Tabellenzugriff!
String = My.Functions.Datum.WorkDays
Array, dass Feiertage enthält.... aHolyDays(n,1)=[D] enthält ein Datum, aHolyDays(n,2)=[C] enthält den Begriff
Array = My.Functions.Datum.aHolyDays[tiIndex1 AS Integer , tiIndex2 AS Integer] Array = My.Functions.Datum.aHolyDays[tiIndex1,tiIndex2]
*/ Aufbau des Arrays: */ aHolyDays[n,1] = [D] , Feiertag */ aHolyDays[n,2] = [C] , Beschreibung des Feiertages
Zähler für Feieretage. DIeses Array wird in einer Unterableitung genutzt!
Array = My.Functions.Datum.aHolyDaysCount
Methode in der der letzte Fehler auftrat.
Aufbau: [Fehlernummer] [Methode] [Zeilennummer] [Message]
String = My.Functions.Datum.cMethod
*/ Abruf... WAIT WINDOW My.Functions.Datum.cMethod
String = My.Functions.Datum.cSEC2CT[tcIndex1 AS String | tiIndex1 AS Integer , tiIndex2 AS Integer] String = My.Functions.Datum.cSEC2CT[tcIndex1|,tiIndex1,tiIndex2]
Integer = My.Functions.Datum.nCT2SEC[tcIndex1 AS String | tiIndex1 AS Integer , tiIndex2 AS Integer] Integer = My.Functions.Datum.nCT2SEC[tcIndex1|,tiIndex1,tiIndex2]
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.
Number = My.Functions.Datum.nError
WAIT WINDOW My.Functions.Datum.nError
Zeilennummer, in der der letzte Fehler auftrat
Number = My.Functions.Datum.nLine
WAIT WINDOW My.Functions.Datum.nLine
Siehe auch : Hauptmenü / Hauptindex / Such Index / Cursor Index / Programm Module / Tabellen Index / Tabellenmodule / Masken Index / Programmcode Index / Servicepacks / My.Struktur / Funktionen / Sonstiges Index
Lokale Benutzerhilfe : Meine eigene Hilfe / Zurück zur PMS32 - Hilfe
Dateiversion:1.0.04#3648 - H.U.DD#SSFF 02.12.2022
Senden Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen
PMS32 WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt. Unbefugtes Weiterleiten,
Veröffentlichen, Kopieren usw. sind untersagt und werden gerichtlich verfolgt.
© PMS Compelec GmbH 2022 ® el-Projekt