vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Zahlenwert in Jahr(e), Monat(e) und Tag(e) umrechnen 
Autor: ERBRU
Datum: 27.01.19 12:29

gibt es eine Funktion,
die mir eine Zahl (kein Datum!)
in Jahr, Monate, Tage, Stunden umrechnet?
Beispiel
365 = 1 Jahr, 0 Monate, 0 Tage , Stunden
375 = 1 Jahr ...

meine Zahl 6285 ?Jahr, ?Monate, ?Tage, ?Stunden, ?Minuten
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zahlenwert in Jahr(e), Monat(e) und Tag(e) umrechnen 
Autor: Kuno60
Datum: 27.01.19 14:08

Hallo,

eine Umrechnung von Tagen in Jahre und Monate ist nicht möglich, da Jahre und Monate keine feste Anzahl von Tagen haben und es gibt auch Schaltjahre!

Mit TimeSpan.FromDays(tage) kannst du aber eine gebrochene Zahl in Tage, Stunden, Minuten und Sekunden umrechnen lassen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zahlenwert in Jahr(e), Monat(e) und Tag(e) umrechnen 
Autor: Manfred X
Datum: 27.01.19 17:23

Hallo!

Du kannst nur eine Zeitspanne behandeln.
Dafür benötigst Du einen Startzeitpunkt und eine
Definition der Spanne (in Tagen, Minuten, Ticks)
oder den Endzeitpunkt.

Es gibt allerdings in manchen Anwendungen die Möglichkeit
ein Jahr als 360 Tage bzw. als 12 Monate mit je 30 Tagen
anzusetzen. Meinst Du so eine Standardisierung?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zahlenwert in Jahr(e), Monat(e) und Tag(e) umrechnen 
Autor: ERBRU
Datum: 27.01.19 17:43

ich habe jetzt diese im Einsatz

ich denke das ich das so nicht rechnen kann, habe ja "Arbeitszeiten von bis" / Tag also mal
408 , 445 etc. ergibt die Summe 10125 und damit ist das untenstehende richtig

ich multipliziere jetzt die Summe mit 7

 Dim summe As Integer = 0
        For i As Integer = 0 To DGV2.Rows.Count - 1
            If DGV2.Rows(i).Cells(2).Value IsNot DBNull.Value Then
                summe += CInt(DGV2.Rows(i).Cells(2).Value)
            End If
        Next
        Dim ts As New TimeSpan(0, 0, summe)
        lbl_Anzahl_Anwesenheit.Text = "Anwesend gesamt: " & _
          DGV2.Rows.Count.ToString
        lbl_Minuten_Anwesenheit.Text = String.Concat("Arbeitszeit in [Min.] " & _
        summe & " [Min]").ToString
        lbl_ddHHMM_Anwesenheit.Text = "Minuten in dd.HH:MM " & String.Format( _
        "{1:00}.{2:00}:{3:00}", ts.Days, ts.Hours, ts.Minutes, ts.Seconds)
Ergebnis: bei der Summe: 10125 = dd.HH.MM 02.48:45

Beitrag wurde zuletzt am 27.01.19 um 17:54:31 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zahlenwert in Jahr(e), Monat(e) und Tag(e) umrechnen 
Autor: Manfred X
Datum: 27.01.19 18:59

Oben hattest Du eine andere Frage gestellt,
nämlich die Umrechnung in Tage, Monate und Jahre!

In Deinem Code summierst Du einen Wert, den Du als
Sekundenzahl an Timespan übergibst.
10125 Sekunden sind nur 2 Stunden 48 Minuten 45 Sekunden
Mit Tagen hat das nichts zu tun.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel