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
Zeit in Datetimepicker 
Autor: Marty**
Datum: 22.10.17 17:35

Hallo,

ich möchte beim laden meiner Form eine feste Zeit in den Datetimepicker übergeben.
DateTimePicker1.Format = Time

Würder gerne 07:00.00 drinnen haben.

MfG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Datetimepicker 
Autor: Manfred X
Datum: 22.10.17 18:10

Hallo!

Der DATE-TIME-Picker kann nicht den gesamten Zeitraum, der für
DateTime-Variablen gültig ist, verarbeiten und meckert deshalb,
wenn nur eine Uhrzeit zugewiesen wird (das autom. ergänzte Datum
ist für den Picker ungültig).
Probiere mal:
dtp.Value = CDate("1.1.2000 07:00:00")

http://www.hummelwalker.de/2010/01/18/ms-sql-server-warum-ist-1753-das-frueheste-datetime-datum/

Beitrag wurde zuletzt am 22.10.17 um 18:19:07 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Datetimepicker 
Autor: Marty**
Datum: 23.10.17 17:42

Hallo,

habe mir jetzt ein den Anwendungseinstellungen folgenden Wert angelegt:
Name Von1
Typ Date
Bereich Benutzer

Private Sub Einstellungen_FormClosed(sender As Object, e As _
  FormClosedEventArgs) Handles MyBase.FormClosed
       My.Settings.Von1 = DateTimePicker1.Value
       My.Settings.Save()
       My.Settings.Reload()
    End Sub
laden möchte ich das ganze wieder mit
Private Sub Einstellungen_Load(sender As Object, e As EventArgs) Handles _
  MyBase.Load
DateTimePicker1.Value = CDate(My.Settings.Von1)
End Sub
 
Oder wo liegt der Fehler ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Datetimepicker 
Autor: Manfred X
Datum: 23.10.17 19:09

Hallo!

Die Settingsvariable "von1" ist als Datentyp "Date" anzulegen.
Die Umwandlung durch "CDate" beim Lesen wäre dann unnötig.
Es sollte für diese Variable ein geeigneter Default-Wert festgelegt
werden (siehe oben).

Das Speichern der Settings-Variablen kann in den Projekt-Einstellungen
angegeben werden (Anwendungsframework: "beim Herunterfahren speichern").

Beitrag wurde zuletzt am 23.10.17 um 19:36:07 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Datetimepicker 
Autor: Marty**
Datum: 28.10.17 15:24

Hallo,

ok meine Zeiteinstellungen habe ich in den Griff bekommen.
Von1 = Startzeit
Bis1 = Endzeit

Wie kann ich überprüfen ob meine aktuelle Zeit in diesem Zeitfenster liegt ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Datetimepicker 
Autor: effeff
Datum: 28.10.17 15:43

//Wie kann ich überprüfen ob meine aktuelle Zeit in diesem Zeitfenster liegt ?//

Indem Du prüfst, ob die aktuelle Zeit größer ist als die Startzeit und kleiner als die Endzeit:

Public Class Form1
 
    Dim Startzeit As Date = DateAdd("s", -5, Now)
    Dim Endzeit As Date = DateAdd("s", 5, Now)
    Dim Jetztzeit As Date = Now
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        txtStartzeit.Text = Startzeit
        txtEndzeit.Text = Endzeit
        txtJetztzeit.Text = Jetztzeit
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
      Button1.Click
        If (Startzeit < Jetztzeit) And (Jetztzeit < Endzeit) Then
            MessageBox.Show("Die Zeit liegt voll im Rahmen!")
        Else
            MessageBox.Show("Die Zeit liegt außerhalb des Rahmens!")
        End If
    End Sub
End Class

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Prüfen eines Zeitintervalls 
Autor: Manfred X
Datum: 28.10.17 20:45

Hallo!

Zu unterscheiden ist, ob das Zeitfenster durch zwei Zeitpunkte oder
durch zwei Uhrzeiten ("Everyday") gegeben wird (IncludeDate-Parameter).
Relevant ist häufig auch, ob die Grenzen des Zeitfensters einzuschließen sind.
''' <summary>Prüft, ob ein Zeitpunkt innerhalb eines Zeitintervalls liegt</summary>
''' <param name="DateTimeToCheck">zu prüfender Zeitpunkt</param>
''' <param name="LowerLimit">Beginn des Zeitintervalls</param>
''' <param name="UpperLimit">Ende des Zeitintervalls</param>
''' <param name="IncludeDate">Soll das Datum einbezogen werden?</param>
''' <param name="IncludeLowerLimit">Beginn bereits im Zeitintervall</param>
''' <param name="IncludeUpperLimit">Ende noch im Zeitintervall</param>
    Private Function IsInTimeInterval(ByVal DateTimeToCheck As DateTime, _
        ByVal LowerLimit As DateTime, ByVal UpperLimit As DateTime, _
        Optional ByVal IncludeDate As Boolean = False, _
        Optional ByVal IncludeLowerLimit As Boolean = True, _
        Optional ByVal IncludeUpperLimit As Boolean = True) As Boolean
 
        Dim basedate As New DateTime(2000, 1, 1)
 
        If Not IncludeDate Then
            UpperLimit = basedate.Add(UpperLimit.TimeOfDay)
            LowerLimit = basedate.Add(LowerLimit.TimeOfDay)
            DateTimeToCheck = basedate.Add(DateTimeToCheck.TimeOfDay)
        End If
 
        If LowerLimit > UpperLimit Then
            Throw New ArgumentException _
                ("Unzulässige Angabe für Zeitfenster")
        End If
 
        Dim CheckUpper, CheckLower As Boolean
        If IncludeLowerLimit Then
            CheckLower = DateTimeToCheck >= LowerLimit
        Else
            CheckLower = DateTimeToCheck > LowerLimit
        End If
        If IncludeUpperLimit Then
            CheckUpper = DateTimeToCheck <= UpperLimit
        Else
            CheckUpper = DateTimeToCheck < UpperLimit
        End If
 
        Return CheckUpper And CheckLower
    End Function
Ergänzender Hinweis:
Es wird nicht geprüft, ob die als Parameter übergebenen DateTime-Werte
innerhalb der regionalen Gültigkeit des jeweils eingestellten Kalenders liegen.

Beitrag wurde zuletzt am 28.10.17 um 20:56:51 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Datetimepicker 
Autor: Marty**
Datum: 29.10.17 06:20

Ok, dankeschön. Wusste nicht das ich Zeit mit < > vergleichen kann.

Wie kann ich Zeiten die in einen Label ausgegeben werden addieren ?

If RadioButton1.Checked = True Then
            AZ1.Text = (DateTimePicker2.Value.TimeOfDay - _
              DateTimePicker1.Value.TimeOfDay).ToString
            AZ2.Text = (DateTimePicker4.Value.TimeOfDay - _
            DateTimePicker3.Value.TimeOfDay).ToString
Mein Ansatz war
Dauer.Text = CDate(AZ1.Text) + CDate(AZ2.Text)
bzw.
Dauer.Text = Val(AZ1.Text) + Val(AZ2.Text)
Hier werden aber nur die Std. addiert
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Prüfen eines Zeitintervalls (Tageswechsel) 
Autor: Manfred X
Datum: 29.10.17 15:35

Falls ein Zeitintervall, das durch zwei Uhrzeiten gegeben ist, einen
Tageswechsel beinhaltet, ist der "AllowDateChange"-Parameter "true"
zu setzen - also z.B. Zeitbereich 23:00 Uhr bis 1:00 Uhr.
Wenn "IncludeDate" "true" ist, wird dieser Parameter ignoriert.
''' <summary>Prüft, ob ein Zeitpunkt innerhalb eines Zeitintervals liegt</summary>
''' <param name="DateTimeToCheck">zu prüfender Zeitpunkt</param>
''' <param name="LowerLimit">Beginn des Zeitintervalls</param>
''' <param name="UpperLimit">Ende des Zeitintervalls</param>
''' <param name="IncludeDate">Soll das Datum einbezogen werden?</param>
''' <param name="IncludeLowerLimit">Liegt der Beginn im Zeitintervall?</param>
''' <param name="IncludeUpperLimit">Liegt das Ende noch im Zeitintervall?</param>
''' <param name="AllowDateChange">
''' Ist ein Tageswechsel zwischen den Uhrzeiten erlaubt?</param>
    Private Function IsInTimeInterval(ByVal DateTimeToCheck As DateTime, _
        ByVal LowerLimit As DateTime, ByVal UpperLimit As DateTime, _
        Optional ByVal IncludeDate As Boolean = False, _
        Optional ByVal IncludeLowerLimit As Boolean = True, _
        Optional ByVal IncludeUpperLimit As Boolean = True, _
        Optional ByVal AllowDateChange As Boolean = False) As Boolean
 
        Dim basedate As New DateTime(2000, 1, 1)
 
        If Not IncludeDate Then
            UpperLimit = basedate.Add(UpperLimit.TimeOfDay)
            LowerLimit = basedate.Add(LowerLimit.TimeOfDay)
            DateTimeToCheck = basedate.Add(DateTimeToCheck.TimeOfDay)
        End If
 
        If LowerLimit > UpperLimit Then
            If Not IncludeDate AndAlso AllowDateChange Then
                'Tageswechsel zwischen den beiden Uhrzeiten 
                UpperLimit = UpperLimit.AddDays(1)
            Else
                Throw New ArgumentException _
                    ("Unzulässige Angabe für Zeitfenster")
            End If
        End If
 
        Dim CheckUpper, CheckLower As Boolean
        If IncludeLowerLimit Then
            CheckLower = DateTimeToCheck >= LowerLimit
        Else
            CheckLower = DateTimeToCheck > LowerLimit
        End If
        If IncludeUpperLimit Then
            CheckUpper = DateTimeToCheck <= UpperLimit
        Else
            CheckUpper = DateTimeToCheck < UpperLimit
        End If
 
        Return CheckUpper And CheckLower
    End Function
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Zeit in Datetimepicker 
Autor: Franki
Datum: 30.10.17 02:02

Hallo,

um Zeiten zu addieren kannst wie schon erwähnt DateAdd verwenden. Da gibt es ein Intervall welches für die Addition berücksichtigt wird. Also z.B.Sekunden, Minuten, Stunden oder auch Tage, Monate, Jahre usw.

Zeitdifferenzen kannst du aber besser mit DateDiff berechnen und über DatePart kannst du Teile eines Datum/Uhrzeit ermitteln.

Schau dir mal die Hilfe zu diesen Sachen an da sind auch Beispiele dabei.

Unter Umständen funktioniert das zwar auch mit + und - oder mit <> aber sicherer ist die Variante mit den dafür vorgesehen Sachen. Besonders wenn es sich um Strings handelt die durch Usereingaben erst umgewandelt werden müssen ist das wichtig, dass es sich um qualifizierte Datums/Zeitangaben handelt.

Wir erinnern uns ja noch an die Anfangszeiten wo z.B. 1 + 1 = 11 war weil einfach die zwei Eingaben des Users in Textfelder aneinander gehängt worden sind.

Gruß
Frank
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