This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vba:classes:date:index [05.08.2015 11:17:01] yaslaw |
vba:classes:date:index [28.06.2016 11:46:22] (current) yaslaw |
||
---|---|---|---|
Line 1: | Line 1: | ||
~~DISCUSSION~~ | ~~DISCUSSION~~ | ||
<const> | <const> | ||
- | versiondt=1.2.0 | + | versiondt=1.9.1 |
- | vdatedt=26.01.2015 | + | vdatedt=28.06.2016 |
- | versiondi=1.2.0 | + | versiondi=1.6.0 |
- | vdatedi=26.01.2015 | + | vdatedi=21.06.2016 |
fnamedt=datetime.cls | fnamedt=datetime.cls | ||
fnamedi=dateinterval.cls | fnamedi=dateinterval.cls | ||
Line 26: | Line 26: | ||
===== DateTime ===== | ===== DateTime ===== | ||
==Version %%versiondt%% %%vdatedt%%== | ==Version %%versiondt%% %%vdatedt%%== | ||
- | [[.:datetime:index|DateTime]] repräsentiert ein Datum inkl. Zeit. | + | [[.:datetime:index|DateTime]] repräsentiert ein Datum inkl. Zeit. Dazu diverse Funktionen, die man sich für eine Datumsklasse wünscht. |
===== DateInterval ===== | ===== DateInterval ===== | ||
Line 45: | Line 45: | ||
Dim dt2 As DateTime: Set dt2 = DateTime.serial(2014, 12, 4, 14, 30, 15) | Dim dt2 As DateTime: Set dt2 = DateTime.serial(2014, 12, 4, 14, 30, 15) | ||
- | 'Dierenz berechnen | + | 'Differenz berechnen und formatiert ausgeben |
Dim di As DateInterval: Set di = dt1.diff(dt2) | Dim di As DateInterval: Set di = dt1.diff(dt2) | ||
- | |||
- | 'Und ausgeben | ||
Debug.Print di.format("E\s ge\ht \noc\h Y Ja\h\re, M \Mo\nate u\n\d D Tage") | Debug.Print di.format("E\s ge\ht \noc\h Y Ja\h\re, M \Mo\nate u\n\d D Tage") | ||
+ | --> 'Es geht noch 0 Jahre, 3 Monate und 12 Tage | ||
- | 'Ausgabe: | + | 'Dasselbe mit der format2() Funktion (gibt es auch für DateTime) |
- | 'Es geht noch 0 Jahre, 3 Monate und 12 Tage | + | Debug.Print di.format2("Es geht noch {$Y} Jahre, {$M} Monate und {$D} Tage") |
+ | --> Es geht noch 0 Jahre, 3 Monate und 12 Tage | ||
</code> | </code> | ||
+ | |||
+ | DateTime aus einem Datumsstring erstellen | ||
+ | <code vb>?DateTime("20151101", "YYYYMMDD").dateValue | ||
+ | 01.11.2015 </code> | ||
Ein kleines Einzeilerbeispiel, bei dem 3 Moante und 4 Tage zu einem defniertem Datum hinzugezählt wird | Ein kleines Einzeilerbeispiel, bei dem 3 Moante und 4 Tage zu einem defniertem Datum hinzugezählt wird | ||
- | <code vb>?DateTime(#8/25/2014#).add("P3M4D").format("DD.MM.YYYY") | + | <code vb>?DateTime(#8/25/2014#).add("P3M4D").dateValue |
29.11.2014</code> | 29.11.2014</code> | ||
Und dasselbe über die Serial-Methode des [[vba:classes:date:dateinterval:index]] | Und dasselbe über die Serial-Methode des [[vba:classes:date:dateinterval:index]] | ||
- | <code vb>?DateTime(#8/25/2014#).add(DateInterval.serial(,3,4)).format("DD.MM.YYYY") | + | <code vb>?DateTime(#8/25/2014#).add(DateInterval.serial(,3,4)).dateValue |
+ | 29.11.2014</code> | ||
+ | |||
+ | Und nochmals dasselbe, mit der addSingleValue() Methode des DateTime Objektes | ||
+ | <code vb>?DateTime(#8/25/2014#).addSingleValue("M", 3).addSingleValue("D", 4).dateValue | ||
29.11.2014</code> | 29.11.2014</code> | ||
Line 66: | Line 74: | ||
<code vb>?DateTime(#8/25/2014#).add("P44D").format("DD.MM.YYYY") | <code vb>?DateTime(#8/25/2014#).add("P44D").format("DD.MM.YYYY") | ||
08.10.2014</code> | 08.10.2014</code> | ||
+ | |||
+ | Mit Kalenderwochen arbeiten | ||
+ | <code vb>'Erster Tag einer Kalenderwoche und letzter Tag einer Kalenderwoche | ||
+ | ?DateTime("13-2015","WW-YYYY").dateValue | ||
+ | 23.03.2015 | ||
+ | ?DateTime("132015","WWYYYY").add("P6D").dateValue | ||
+ | 29.03.2015 | ||
+ | |||
+ | ' Und dasseleb mit der addSIngleVaue Methode | ||
+ | ?DateTime("132015","WWYYYY").addSingleValue("D", 6).dateValue | ||
+ | 29.03.2015</code> |