vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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
Re: Zeit in Minuten 
Autor: Manfred X
Datum: 27.01.15 17:13

Du hast die "TotalMinutes"-Eigenschaft einer Instanz der Timespan-Klasse verwendet,
die die Zeitdifferenz enthält?

Poste mal Deinen Code!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Zeit in Minuten 
Autor: blackmann85
Datum: 21.01.15 21:30

Hallo,

kann mir bitte jemand einen Code nennen der nur die Minuten anzeigt ? Ich habe 3 Zeiten "start" "Ende" und "benötigte Zeit" ich möchste nicht das er zB. 13:00:00 - 13:10:00 = 00:10:00 ich möchte das er nur 10 als benöigte zeit anzeigt.

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox3.Text = (CDate(TextBox2.Text) - CDate(TextBox1.Text)).ToString()
End Sub


danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Minuten 
Autor: Manfred X
Datum: 21.01.15 21:56

Hallo!

Schau das mal an .... (Parsen, Konvertieren, Zeitspanne ...)
Dim time1 As String = "12.6.2012 17:50:00"
Dim time2 As String = "12.6.2012 14:25:20"
 
Dim dt1 As Date, dt2 As Date
 
If Date.TryParse(time1, dt1) AndAlso Date.TryParse(time2, dt2) Then
   Dim ts As TimeSpan = dt1 - dt2
   MsgBox(ts.TotalSeconds.ToString & " Sekunden")
End If
Negative Zeit-Intervalle solltest Du möglichst vermeiden: Ende - Start
Es gibt in der Timespan-Klasse auch TotalMinutes, TotalHours, ...

Beitrag wurde zuletzt am 21.01.15 um 22:18:31 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Minuten 
Autor: blackmann85
Datum: 27.01.15 16:53

Hallo,

so nun zeigt er mir die minuten von 0-59 an wenn ich nun 2 Stunden von 12:00 - 14:00 Uhr schreibe soll nun 120 da stehen ... was muss ich eingeben das er über 59min rechnet?

Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Minuten 
Autor: Kuno60
Datum: 27.01.15 17:16

So wie Manfred schon schrieb: Du musst TotalMinutes verwenden!
Also so:
TextBox3.Text = (CDate(TextBox2.Text) - CDate( _
  TextBox1.Text)).TotalMinutes.ToString()
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Ergänzende Hinweise 
Autor: Manfred X
Datum: 27.01.15 17:27

Zum Parsen eines Strings als Date sollte man "TryParse" verwenden (siehe oben) -
insbesondere bei Benutzereingaben in Controls.

Die Total ....- Eigenschaften geben den Datentyp-Double zurück, weil
Bruchteile eines Zeitintervalls bei der Angabe in Gesamt-Stunden,
Gesamt-Minuten etc enthalten sein können (z.B. 90 Sek. = 1,5 Minuten).

Man sollte deshalb bei der Anzeige solcher Werte durch die ToString-Methode
eine geeignete Formatierung angeben (Rundung auf sinnvolle Stellenzahl o.ä.),
wenn in der Zeitspanne kürzere Zeiteinheiten enthalten sein können
als die ausgegebene Einheit.

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

Re: Zeit in Minuten 
Autor: blackmann85
Datum: 27.01.15 18:34

Ok danke Kuno das hat so funktioniert.

Eine letzte Frage habe ich noch:

Wenn ich nun auf den Button "Ende" drücke gibt er mit die Zeit. Zugleich soll er mit in eine Andere Textbox die zusmmengerechnete Zeit wiedergeben.

Zb.

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
EndeTextBox.Text = TimeOfDay
If EndeTextBox.Text = "12:00:00" Then BeschichtungszeitTextBox.Text = (CDate(EndeTextBox.Text) - CDate(StartTextBox.Text)).TotalMinutes.ToString()

End Sub

bei mir bleibt die BeschichtungszeitTextBox.Text leider leer.

(ich habe es mal mit normalen Textboxen probiert...da ging es)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Minuten 
Autor: Manfred X
Datum: 27.01.15 18:54

Tja. "TimeOfDay" liefert die aktuelle Uhrzeit.
Die Box wird deshalb nur um exakt 12:00 gefüllt.
Bei der Differenzbildung (Zeitspanne berechnen)
hilft Dir diese Methode (Uhrzeit-Komponente) ohnehin nicht,
z.B. weil bei einem Tageswechsel die Datumskomponente zu beachten ist.

Beitrag wurde zuletzt am 27.01.15 um 18:57:33 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Minuten 
Autor: blackmann85
Datum: 27.01.15 19:43

Manfred ich verzweifel langsam ich checks nicht. Kannst du mir noch einmal genau sagen wie ich vorgehen muss. Folgende Vorgaben habe ich:

Button1 = StartZeit (TextBox1)
Button2 = EndeZeit (TextBox2)
Button3 = BenötigteZeit (wird ausgerechnet ) (TextBox3)


in TextBox4 soll nun die TextBox3 in min ausgegeben werden und gleichtig *7 gerechnet werden. Die TextBox ist nicht Sichtbar für den Mitarbeiter.

danke



Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Minuten 
Autor: Manfred X
Datum: 27.01.15 20:19

Ich weiß nicht, wo genau Dein Problem liegt
Hier eine Klasse, die Du nur ins Projekt einfügen mußt und
die direkt als Startformular ausführbar ist.
(Alle Controls werden automatisch erstellt. Nichts draufziehen!)

Du kannst in die Textboxen entweder Datum und Uhrzeit eingeben
oder nur jeweils eine Uhrzeit (die beide am gleichen Tag liegen).

Wie dieser Faktor zu verwenden ist und warum Du eine
unsichtbare Textbox benutzt, verstehe ich nicht.

Option Strict On
Option Explicit On
 
Public Class TimeSpan_Demo
    Inherits System.Windows.Forms.Form
 
 
    Dim lblstart As New Label With _
        {.Parent = Me, .Top = 20, .Width = 100, .Text = "Startzeit: "}
    Dim tboStart As New TextBox With _
        {.Parent = Me, .Top = 20, .Width = 100, .Left = 110}
 
    Dim lblEnde As New Label With _
        {.Parent = Me, .Top = 50, .Width = 100, .Text = "Endzeit: "}
    Dim tboEnde As New TextBox With _
        {.Parent = Me, .Top = 50, .Width = 100, .Left = 110}
 
    Dim WithEvents btnZeitspanne As New Button With _
        {.Parent = Me, .Top = 80, .Width = 200, _
         .Text = "Zeitintervall berechnen"}
 
 
    Private Sub btnZeitspanne_Click _
        (sender As Object, e As System.EventArgs) Handles btnZeitspanne.Click
 
        Dim start, ende As Date
        If Not Date.TryParse(tboStart.Text, start) Then
            MsgBox("Ungültige Startzeit") : Exit Sub
        End If
 
        If Not Date.TryParse(tboEnde.Text, ende) Then
            MsgBox("Ungültige Endzeit") : Exit Sub
        End If
 
        'Die Zeitachse arbeitet mit der Einheit Ticks
        'Berechnung des Intervalls
        Dim ts As New TimeSpan(ende.Ticks - start.Ticks)
 
        If ts.Ticks < 0 Then
            MsgBox("Start liegt später als Ende") : Exit Sub
        End If
 
        MsgBox("Die Zeitspanne beträgt " & _
          ts.TotalMinutes.ToString("0.##") & " Minuten")
 
        'In eine Textbox würde man das so eintragen
        'Textbox3.Text = ts.totalminutes.tostring("0.##")
 
        'Faktor
        'Textbox4.Text = (ts.totalminutes * 7).tostring("0.##")
 
    End Sub
 
 
    Private Sub TimeSpan_Demo_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
        Me.Size = New Size(300, 200)
 
    End Sub
 
 
    Private Sub InitializeComponent()
        Me.SuspendLayout()
        '
        'TimeSpan_Demo
        '
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Name = "TimeSpan_Demo"
        Me.ResumeLayout(False)
 
    End Sub
End Class


Beitrag wurde zuletzt am 27.01.15 um 20:24:31 editiert.
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