Rubrik: Datum/Zeit und Timer · Datums- und Zeit-Funktionen | VB-Versionen: VB2010 - VB2015 | 06.02.19 |
Berechnen der Daten für den Anfang der Jahreszeiten Im Tipp wird eine Funktion gezeigt, die die Anfangsdaten der Jahreszeiten für ein bestimmtes Jahr berechnet. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 6.921 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Das Datum für den Beginn einer der vier Jahreszeiten variiert von Jahr zu Jahr ein wenig.
Die folgende Funktion ist von Excel-Formeln abgeleitet für VB. Mit ihr werden die Anfangsdaten der vier Jahreszeiten eines vorgegebenen Jahres berechnet und in Form eines Arrays zurückgegeben.
Der Code:
' Berechnung der Daten der Anfänge der Jahreszeiten Public Function getJahreszeitAnfang(theJahr As Integer) As Array ' theJahr.. das Jahr für die Jahreszeiten-Berechnung Dim specJahr As Integer = DateSerial(2000, 3, 20).Year Dim fa As Date = DateTime.FromOADate(36605.319 + (theJahr - specJahr) * 365.24 + 1 / 24).Date Dim sa As Date = DateTime.FromOADate(36605.319 + (theJahr - specJahr) * 365.24 + 92.76 + 2 / 24 _ + CInt((theJahr - specJahr) / 12) * 0.1).Date Dim ha As Date = DateTime.FromOADate(36605.319 + (theJahr - specJahr) * 365.24 + 186.41 + 2 / 24 _ + CInt((theJahr - specJahr) / 12) * 0.02).Date Dim wa As Date = DateTime.FromOADate(36605.319 + (theJahr - specJahr) * 365.24 + 276.26 + 1 / 24 _ + CInt((theJahr - specJahr) / 12) * 0.2).Date Return {fa, sa, ha, wa} End Function
Aufruf bspw.:
getJahreszeitAnfang(Now.Year)
Und hier noch die Excel-Formeln:
Das Jahr in A1 eingeben.
Frühlingsanfang
=36605,319+(A1-JAHR(36605))*365,24+1/24
Sommeranfang
=36605,319+(A1-JAHR(36605))*365,24+92,76+2/24+GANZZAHL((A1-JAHR(36605))/12)*0,01
Herbstanfang
=36605,319+(A1-JAHR(36605))*365,24+186,41+2/24+GANZZAHL(($A1-JAHR(36605))/12)*0,02
Winteranfang
=36605,319+(A1-JAHR(36605))*365,24+276,26+1/24+GANZZAHL((A1-JAHR(36605))/12)*0,02