Datums- und Zeitfunktionen

DateValue-Funktion Erzeugt aus einer Datumszeichenfolge eine fortlaufende Nummer, die in einem einzigen numerischen Wert ein komplettes Datum darstellt. Mit dieser fortlaufenden Nummer können Sie Differenzen zwischen Daten berechnen.
Syntax DateValue[(date)]
date Beliebiger Zeichenfolgeausdruck, der das zu berechnende Datum in einem (fast) beliebigen Format enthält. Im folgenden Beispieldatum "12.6.1995" sind alle Darstellungsvarianten erlaubt

12.06.1995                         12.6.95                         12.6.1995                12 Jun 1995           Jun 12. 95                         12/95 Jun                 etc.
Die Angabe dieses Parameters ist optional. Wird er ausgelassen, berechnet die Funktion das aktuelle Tagesdatum.

 
DateSerial-Funktion  Erzeugt aus der Angabe von Jahr, Monat und Tag - Parameter, die als numerische Werte übergeben werden - eine fortlaufende Nummer, die in einem einzigen numerischen Wert ein komplettes Datum darstellt. Mit Hilfe dieser fortlaufenden Nummer können Sie Differenzen zwischen Daten berechnen.
Syntax DateSerial (year,month,day)
year          Integer-Ausdruck, der das Jahr des Datums bestimmt, dessen fortlaufende Nummer berechnet werden soll. Geben Sie die Jahreszahlen zweistellig ein, wenn sie sich im Bereich von 1900 bis 1999 bewegen sollen. Jahreszahlen, die außerhalb dieses Bereichs liegen (möglich sind die Jahre 100-9999 inklusive) müssen grundsätzlich vollständig angegeben werden (45 entspricht also 1945; 1812 müsste natürlich vierstellig angegeben werden).
month      Integer-Ausdruck, der den Monat innerhalb des angegebenen Jahres bestimmt. Der Wertebereich bewegt sich          dabei in der Regel zwischen 1 und 12. Werte außerhalb dieses Bereichs sind aber dennoch möglich. In diesem Fall beeinflusst der Monat auch die Jahreszahl.
day           Integer-Ausdruck, der den Tag innerhalb des angegebenen Monats definiert.  Der Wertebereich bewegt sich dabei in der Regel zwischen 1 und 28, 29, 30 oder 31 (je nach Tages im angegebenen Monat). Werte außerhalb dieses Bereichs sind aber dennoch möglich. In diesem Fall beeinflusst der Tag auch die Monatszahl.
 

Die DateSerial- und die Date Value-Funktionen liefern den Typen Variant mit VarType 7 (Date) zurück; intern wird dieser Wert jedoch als Wert doppelter Genauigkeit gespeichert. Der 1.1.1900 entspricht dabei dem Wert 2. Negative Werte entsprechen einem Datum, dass vor dem 30.12.1899 (nicht inklusive) entspricht. Zurückgelieferte Werte entsprechen also dem Zeitpunkt relativ zum 31.12.1899 in Tagen.

Wird den Funktionen ein Datum übergeben, dass sich außerhalb des angegebenen Bereichs befindet, meldet VisualBasic einen Fehler.

Bei der DateSerial-Funktion übergeben Sie Jahr, Monat und Tag getrennt als numerische Ausdrücke.
Hingegen übergeben Sie der DateValue-Funktion einen Zeichenfolgenausdruck, der das Format "T.M.J" aufweisen muß.

Day-Funktion  Liefert aus einer fortlaufenden Datumszahl, die mit DateSerial oder mit DateValue generiert wurde, den Tag des Datums im entsprechenden Monat zurück.
Syntax Day(NumAusdruck)
NumAusdruck Ganzzahliger numerischer Ausdruck, der die fortlaufende Datumszahl enthält, aus der der Tag im Monat eines Datums ermittelt werden soll.

Diese Funktion stellt quasi teilweise die Umkehrfunktion zur DateSerial-Funktion dar. Sie ermittelt aus der fortlaufenden Datumszahl, die mit DateSerial oder mit DateValue generiert wurde, wieder den Tag innerhalb des Monats eines bestimmten Datums.

Der Ausdruck                            Print Day(DateSerial(1994, 12, 20))                            ergibt also den Wert 20.

 

Month-Funktion   Liefert aus einer fortlaufenden Datumszahl, die mit DateSerial oder mit DateValue generiert wurde, den Monat des Datums im entsprechenden Jahr zurück
Syntax Month(NumAusdruck)
NumAusdruck  Ganzzahliger numerischer Ausdruck, der die fortlaufende Datumszahl enthält, aus der der Monat im Jahr eines Datums ermittelt werden soll.

Diese Funktion stellt quasi teilweise die Umkehrfunktion zur DateSerial-Funktion dar. Sie ermittelt aus der fortlaufenden Datumszahl, die mit der DateSerial-Funktion oder mit der DateValue-Funktion generiert wurde, wieder den Monat innerhalb des Jahres eines bestimmten Datums.

Der Ausdruck                            Print Month(DateSerial(1994, 12, 20))                            ergibt also den Wert 12.

 

Year-Funktion Liefert aus einer fortlaufenden Datumszahl, die mit DateSerial oder mit DateValue generiert wurde, die Jahreszahl zurück
Syntax Year(NumAusdruck)
NumAusdruck  Ganzzahliger numerischer Ausdruck, der die fortlaufende Datumszahl enthält, aus der die Jahreszahl ermittelt werden soll.

Diese Funktion stellt quasi teilweise die Umkehrfunktion zur DateSerial-Funktion dar. Sie ermittelt aus der fortlaufenden Datumszahl, die mit der DateSerial-Funktion oder mit der DateValue-Funktion generiert wurde, wieder die Jahreszahl zurück. 

Der Ausdruck                Print Year(DateSerial(1994, 12, 20))                ergibt also den Wert 1994.

 

WeekDay-Funktion Liefert aus einer fortlaufenden Datumszahl, die mit DateSerial oder mit DateValue generiert wurde, die Nummer des Wochentags des Datums im entsprechenden Monat zurück.
Syntax WeekDay(NumAusdruck)
NumAusdruck  Ganzzahliger numerischer Ausdruck, der die fortlaufende Datumszahl enthält, aus der der Wochentag (0-7) im Monat eines Datums ermittelt werden soll.

Diese Funktion ermittelt aus der fortlaufenden Datumszahl, die mit der DateSerial-Funktion oder mit der DateValue-Funktion generiert wurde, den Wochentag innerhalb des Monats eines bestimmten Datums.

 

TimeSerial-Funktion Erzeugt aus der Angabe von Stunde, Minute und Sekunde - Parameter, die als numerische Werte übergeben werden - eine fortlaufende Nummer, die in einem einzigen numerischen Wert eine komplette Uhrzeit darstellt. Mit Hilfe dieser fortlaufenden Nummer können Sie Differenzen zwischen Uhrzeiten berechnen.
Syntax TimeSerial(hour,minute,second)
hour Beliebiger Integer-Ausdruck, der die Stunde der gesamten Uhrzeit angibt, aus der der fortlaufende Zeitwert ermittelt werden soll. Erlaubt sind hier Werte im Bereich von 0-23.
minute Beliebiger Integer-Ausdruck, der die Minute der gesamten Uhrzeit angibt, aus der der fortlaufende Zeitwert ermittelt werden soll. Normalerweise geben Sie hier Werte zwischen 0 und 59 an. 
second Beliebiger Integer-Ausdruck, der die Sekunde der gesamten Uhrzeit angibt, aus der der fortlaufende Zeitwert ermittelt werden soll. Normalerweise geben Sie hier Werte zwischen 0 und 59 an. 

Mit Hilfe dieser Funktion können Sie eine beliebige Uhrzeit in einen einzigen Wert umrechnen, mit dem Sie wiederum Zeitdifferenzen berechnen können.

Die TimeSerial-Funktion liefert den Typen Variant mit VarType 7 (Date) zurück; intern wird dieser Wert jedoch als Wert doppelter Genauigkeit gespeichert, der Werte zwischen 0 und 0,9999999999 zuläßt. Im Gegensatz zur DateSerial- bzw. DateValue-Funktion, die fortlaufende Zahlen aus Datums-Angaben so errechnet, daß Sie Tage relativ zu einem festen Datum ergeben, können Sie zwar mit den Werten rechnen, die die TimeSerial-Funktion zurückliefert, diese aber nicht direkt auswerten.

Der Unterschied zur TimeValue-Funktion ist, daß Sie dort eine Zeichenfolge als Funktionsargument übergeben, die die Uhrzeit beinhaltet. Hingegen übergeben Sie der TimeSerial-Funktion die einzelnen Parameter (Stunde, Minute, Sekunde) getrennt als numerische Ausdrücke.

 

TimeValue-Funktion Erzeugt aus der Angabe von Stunde, Minute und Sekunde - Parameter, die als Zeichenfolge übergeben werden - eine fortlaufende Nummer, die in einem einzigen numerischen Wert eine komplette Uhrzeit darstellt. Mit Hilfe dieser fortlaufenden Nummer können Sie Differenzen zwischen Uhrzeiten berechnen.
Syntax  TimeValue(zeichenfolge-ausdruck)
zeichenfolge-ausdruck Beliebiger Zeichenfolgeausdruck, der die zu berechnenden Uhrzeit im Format "HH:MM:SS" beschreibt.

Die TimeValue-Funktion liefert den Typen Variant mit VarType 7 (Date) zurück; intern wird dieser Wert jedoch als Wert doppelter Genauigkeit gespeichert, der Werte zwischen 0 und 0,9999999999 zulässt.

Im Gegensatz zur DateSerial- bzw. DateValue-Funktion, die fortlaufende Zahlen aus Datums-Angaben so errechnet, dass sich Tage relativ zu einem festen Datum ergeben, können Sie zwar mit den Werten rechnen, die die TimeValue-Funktion zurückliefert, diese aber nicht direkt auswerten.

Der Unterschied zur TimeSerial-Funktion ist, daß Sie dort die einzelnen Parameter (Stunde, Minute, Sekunde) getrennt als numerische Ausdrücke übergeben. Hingegen übergeben Sie der TimeSerial-Funktion eine Zeichenfolge als Funktionsargument, die die Uhrzeit beinhaltet.

Hour-Funktion Liefert aus einer fortlaufenden Zeitzahl, die mit TimeSerial oder mit TimeValue generiert wurde, die Stunde                                 der Uhrzeit zurück
Syntax Hour(NumAusdruck)
NumAusdruck  Numerischer Ausdruck, der die fortlaufende Uhrzeitzahl enthält, aus dem die Stunde berechnet werden soll.

Diese Funktion stellt quasi teilweise die Umkehrfunktion zur TimeSerial-Funktion dar. Sie ermittelt aus der fortlaufenden Uhrzeitzahl, die mit der TimeSerial-Funktion oder mit der TimeValue-Funktion generiert wurde, wieder die Stunde einer bestimmten Uhrzeit zurück. 

Der Ausdruck                Print Hour(TimeSerial(12:30:41))    ergibt also den Wert 12.

 

Minute-Funktion Liefert aus einer fortlaufenden Zeitzahl, die mit TimeSerial oder mit TimeValue generiert wurde, die Minute der gesamten Uhrzeit zurück
Syntax Minute(NumAusdruck)
NumAusdruck  Numerischer Ausdruck, der die fortlaufende Uhrzeitzahl enthält, aus dem die Stunde berechnet werden soll.

Diese Funktion stellt quasi teilweise die Umkehrfunktion zur TimeSerial-Funktion dar. Sie ermittelt aus der fortlaufenden Uhrzeitzahl, die mit der TimeSerial-Funktion oder mit der TimeValue-Funktion generiert wurde, wieder die Minute einer bestimmten Uhrzeit zurück.

Der Ausdruck                Print Minute(TimeSerial(12:30:41))   ergibt also den Wert 30.

 

Second-Funktion Liefert aus einer fortlaufenden Zeitzahl, die mit TimeSerial oder mit TimeValue generiert wurde, die Sekunde der gesamten Uhrzeit zurück.
Syntax Second(NumAusdruck)
NumAusdruck  Numerischer Ausdruck, der die fortlaufende Uhrzeitzahl enthält, aus dem die Sekunde berechnet werden soll.

Diese Funktion stellt quasi teilweise die Umkehrfunktion zur TimeSerial-Funktion dar. Sie ermittelt aus der fortlaufenden Uhrzeitzahl, die mit der TimeSerial-Funktion oder mit der TimeValue-Funktion generiert wurde, wieder die Sekunde einer bestimmten Uhrzeit zurück. 

Der Ausdruck                Print Second(TimeSerial(12:30:41))                ergibt also den Wert 41.

 

Now-Funktion  Ermittelt die aktuelle Zeit als fortlaufende Uhrzeitzahl, also eine fortlaufende Nummer, die in einem einzigen numerischen Wert die komplette Uhrzeit darstellt. Mit Hilfe dieser fortlaufenden Nummer können Sie Differenzen zwischen Uhrzeiten berechnen
Syntax Now

 

Date-Funktion  Liefert das aktuelle Systemdatum als Zeichenfolge zurück
Date-Anweisung Setzt das Datum neu
Syntax Date oder Date=zeichenfolgeausdruck
zeichenfolgeausdruck  Wird nur dann benötigt, wenn das Systemdatum neu gesetzt werden soll. In diesem Fall muss der Zeichenfolgeausdruck das Datumsformat erhalten, was aus der länderspezifischen Einstellung der Systemsteuerung hervorgeht. Ist hier "Deutschland" eingestellt, lautet das Format "TT.MM.JJJJ", für den 24. Juli 1969 also beispielsweise "24.07.1969".

Diese Funktion liefert das aktuelle Datum als Zeichenfolge zurück. Das Datumsformat ist abhängig von den länderspezifischen Einstellungen in der Systemsteuerung. Wurde hier "Deutschland" gewählt, wird die Zeit im Format "TT.MM.JJJJ" zurückgeliefert.

 

Time-Anweisung Diese Funktion liefert die aktuelle Systemzeit als Zeichenfolge im Format "HH:MM:SS" zurück oder stellt die Systemuhr neu
Syntax Time oder Time = zeichenfolgeausdruck
zeichenfolgeausdruck  Beliebiger Zeichenfolgeausdruck, der die neue Uhrzeit im Format "HH:MM:SS" beschreibt.

 

Logische und Vergleichsoperatoren

Für alle Operatoren gelten folgende Parameter:

ergebnis Eine beliebige numerische Variable, die das Ergebnis der Verknüpfung aufnimmt.
ausdruck1, ausdruck2 Beliebige numerische Ausdrücke, die miteinander verknüpft werden sollen.

 

And-Operator Führt eine logische UND-Verknüpfung zwischen zwei Ausdrücken durch
Syntax ergebnis = ausdruck1 And ausdruck2

Bei einer UND-Verknüpfung werden nur die Bits gesetzt, die auch in beiden angegebenen Ausdrücken gesetzt worden sind.

Beispiel Dezimal Dual
ausdruck1 254 11111110

And  ausdruck2

111 01101111
ergebnis 110 01101110

 

Eqv-Operator Führt eine logische Äquivalenz-Verknüpfung zwischen zwei Ausdrücken durch
Syntax ergebnis = ausdruck1 Eqv ausdruck2

Bei einer Äquivalenz-Verknüpfung ist ein Bit im Ergebnis gesetzt, wenn entweder beide Bits in den Ausdrücken gesetzt oder gelöscht sind. Ansonsten ist das Bit im Ergebnis gelöscht.

Beispiel Dezimal Dual
ausdruck1 214 11010110

Eqv  ausdruck2

103 01100111
ergebnis 78 01001110

 

Imp-Operator Führt eine logische Implikationsverknüpfung zwischen zwei Ausdrücken durch
Syntax ergebnis = ausdruck1 Imp ausdruck2

Bei einer Implikationsverknüpfung ist ein Bit im Ergebnis nur dann gelöscht, wenn das entsprechende Bit im ersten Ausdruck gesetzt und das entsprechende Bit im zweiten Ausdruck gelöscht worden ist.

Beispiel Dezimal Dual
ausdruck1 254 11111110

Imp  ausdruck2

103 01100111
ergebnis 103 01100111

 

Or-Operator  Führt eine logische ODER-Verknüpfung zwischen zwei Ausdrücken durch
Syntax ergebnis = ausdruck1 Or ausdruck2

Bei einer ODER-Verknüpfung wird schon dann ein Bit gesetzt, wenn ein Bit in einem der Ausdrücke gesetzt worden ist.

Beispiel Dezimal Dual
ausdruck1 211 11010011

Or  ausdruck2

123 01111011
ergebnis 251 11111011

 

Xor-Operator  Führt eine logische Exklusiv-Oder-Verknüpfung zwischen zwei Ausdrücken durch
Syntax ergebnis = ausdruck1 Xor ausdruck2

Bei einer Exklusiv-Oder-Verknüpfung ist ein Bit im Ergebnis gesetzt, wenn das entsprechende Bit bei nur einem der beiden Ausdrücke gesetzt ist.

Beispiel Dezimal Dual
ausdruck1 214 11010110

Xor  ausdruck2

103 01100111
ergebnis 177 10110001

 

Not-Operator  Negiert einen Ausdruck durch Vertauschen der Bitzustände
Syntax ergebnis = Not ausdruck
ergebnis    Eine beliebige numerische Variable, die das Ergebnis der Negation aufnimmt.
ausdruck    Beliebiger numerischer Ausdruck, der negiert werden soll.

Bei einer Negation werden nicht, wie bei allen anderen logischen Operationsbefehlen, zwei Ausdrücke logisch miteinander verknüpft, sondern ein einzelner verändert. Dieser Ausdruck wird dahingehend geändert, dass er nach der Negation den gegenteiligen Zustand seines ursprünglichen Inhaltes besitzt.

Beispiel Dezimal Dual
ausdruck 103 01100111
Not - ergebnis 103 10011000