vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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 Skript (VBS)
Uhrzeit in stunden umrechnen 
Autor: user2100
Datum: 30.10.11 21:03

hi, ich habe ein kleines prog. zum eintragen meiner arbeitszeiten entworfen.
dort gebe ich in textbox1 die anfangszeit und in textbox2 die endzeit ein.
wie bekomme ich es hin das mir aus den beiden zeiten die stunden errechnet werden?

Beispiel:

textbox1 - 6.00
textbox2 - 14.00

arbeitszeit = 8 h

so hatte ich es mir vorgestellt.

mfg chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: Franki
Datum: 31.10.11 01:36

Hallo Chris,

indem du die Differenz der beiden Uhrzeiten bildest. Aber um mit Uhrzeiten rechnen zu können müssen diese auch das richtige Format haben (DateTime)

Und bei der Eingabe sollte auch immer das Datum enthalten sein, zumindest indirekt. Denn von 6 bis 14 Uhr sind 8 Stunden, (14-6=8) aber von 22 - 6 Uhr des folgenden Tages sind ebenfalls 8 Arbeitsstunden aber (22-6 oder umgekehrt ergibt nicht 8)

Mit DateDiff kannst du Zeitdifferenzen berechechnen. Beispiel

Private Sub Command1_Click()
    Startzeit = CDate(Text1.Text) ' 31.10.2011 22:00:00
    Endzeit = CDate(Text2.Text) ' 01.11.2011 06:00:00
 
    Arbeitsstunden = DateDiff("h", Startzeit, Endzeit)
 
    MsgBox Arbeitsstunden
 
End Sub
Du musst bei Zeitberechnungen zwingend "richtige" Zeiten verwenden, da halt eine Stunde dummerweise nur 60 anstatt 100 Minuten hat. Bei obigem Beispiel wären das bei Endzeit 06:15 Uhr nämlich 8,25 Stunden z.B. (und nicht etwa 8,15 Stunden)

Du solltest für die Eingabe und Speicherung der Uhrzeiten dem User eine Eingabemaske oder ein Steuerelement zur Verfügung stellen so dass da auch nur gültige Eingaben gemacht werden können bevor gespeichert wird. Das vereinfacht die Sache ungemein.

Gruß,
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: user2100
Datum: 31.10.11 15:03

ich danke dir für die hilfe das hat mir echt gut geholfen vielen dank
wenn ich die zeit von 6.00 bis 14.15 nehme werden mir nur die 8 stunden angezeigt und das ,25 nicht. wenn mann die ausgabe so genau wie möglich haben möchte wie müsste man das machen?
mfg chris

Beitrag wurde zuletzt am 31.10.11 um 15:06:33 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: Franki
Datum: 01.11.11 05:45

Hallo Chris,

schau dir doch mal die Hilfe zu den Datumsfunktionen an, dann wirst du feststellen, dass das "h" in meinem Beispiel für Stunden steht.

Wenn du auch Minuten, oder gar Sekunden, oder Jahre, Kalenderwochen usw. bauchst dann musst du halt die Funktion entsprechend aufrufen.

In dem Beispiel von dir müsste das Intervall auf Minuten sein, da eine Viertelstunde. Es ist so, dass kleinere Zeiteinheiten immer unberüchsichtigt bleiben wenn eine größere als Intervall angegeben worden ist. (Also gib Minuten an)

Die Umrechnung mußt du selbt machen.
Also eine Minute hat 60 Sekunden, eine Stunde 60 Minuten usw. (Das ist der einfache Weg, es würd komplitzierter werden, wenn Zeitzonen, Sommer / Winterzeit usw. berücksichtigt werden müssen.

Aber in der Hilfe steht alles über die Datums- Zeitfunktionen bzw. deren Parameter, das sollte als Anhaltspunkt reichen. Ansonsten gibt es auch Steuerelemente die das auctomatisch erledigen, daber da steckt auch nichts Anderes dahinter als simple Mathematik wie oben.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: Manfred X
Datum: 01.11.11 07:43

Hallo!

CDate arbeitet mit einer Zeitskala auf der
Basis von Doublewerten
(Differenz 1 = 1 Tag, Differenz 0.5 = 12 Stunden)

startzeit = CDate("31.10.2011 22:00:00")
endzeit = CDate("01.11.2011 06:15:30")

Dim differenz_tage#, differenz_std#, differenz_min#

differenz_tage = endzeit - startzeit
differenz_std = (endzeit - startzeit) * 24
differenz_min = (endzeit - startzeit) * 1440

MfG
Manfred
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: user2100
Datum: 02.11.11 16:13

vielen dank ich weiss leider nicht ganz wie du das meinst kannst du mir evtl. ein beispiel code zeigen?

@ Franki

mfg chris

Beitrag wurde zuletzt am 02.11.11 um 16:21:38 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: Franki
Datum: 03.11.11 05:36

Hallo Chris,

ManfredX hat dir ja schon was geschickt. Ergänzend dazu ist víelleicht das hier hilfreich über die zu Fuss Methode. (Ich habe die Daten von ManfredX übernommen)


Private Sub Irgendwas()
    Dim Startzeit As Date
    Dim Endzeit As Date
 
    Startzeit = CDate("31.10.2011 22:00:00")
    Endzeit = CDate("01.11.2011 06:15:30")
 
    Minuten = DateDiff("n", Startzeit, Endzeit)
    ' Das ist mehr als eine Stunde, obwohl Tageswechsel beim Datum (795)
    ' Hier sind die Sekunden auch nicht berücksichtigt, da das Intervall auf 
    ' Minunten lautet
    Stunden = Minuten / 60 ' Bzw. noch runden auf zwei Nachkommastellen bei 
    ' Bedarf
 
    MsgBox Minuten & " Minuten" & vbCrLf & Stunden & " Stunden"
    ' Wenn das mehr als 24 Stunden sind, dann halt noch weiter auf Tage 
    ' umrechnen usw.
    ' Ein Tag hat 24 Stunden, siehe oben wie eine Stunde 60 Minuten hat
End Sub
Wichtig ist, dasss immer nur die Einheit zurück gegeben wird die auch abgefragt wird. Also die kleinste Einheit die erfasst wird bzw. interessant ist. Genau die brauchst du auch, aber umrechnen musst du immer selbst.

Also von Minuten zu Stunden mit 60, von Stunden zu Tagen mit 24 usw. Je nachdem was grade gewünscht ist.

Beim Beispiel von ManfredX bzw. dem Code oben siehst du, dass z.B. die 30 Sekunden da völlig unberücksichtigt bleiben weil die Abfrage halt auf Minuten lautet. (Bei Stundenlohn ja uninterressant) Ist das Prinzip jetz klar?

Gruß,
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: Franki
Datum: 03.11.11 05:54

Hallo ManfredX,

Richtig, der Multiplikator ist entscheidend um von einer zur anderen Einheit umrechnen zu können. Aber den muss man halt wissen bzw. verstehen für die eigenen Programmierung.

ich habe das in meinem Beispiel halt mal mit 60 gemachacht, rein zum Verständnis, aber das Prinzip ist ja identisch.

Bin mal gespannt, ob eine Antwort kommt vom OP und wie diese aus fällt.

Gruß,
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Uhrzeit in stunden umrechnen 
Autor: user2100
Datum: 03.11.11 15:54

vielen dank für die zahlreiche hilfe die ich bekommen habe.

es funktioniert alles super.

mit freundlichen grüßen
chri
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