VB.Net Uhrzeit aus den Internet auslesen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von jnpanzer.

    VB.Net Uhrzeit aus den Internet auslesen

    Guten Abend,


    Ich muss die Systemzeit am PC ändern, dies habe ich erfolgreich geschafft.

    Danach muss ich die Systemzeit wieder wieder richtig einstellen wenn.
    Ich finde einfach nichts passendes womit ich die Uhrezeit aus den Internet (Atom Uhrzeit) laden kann und sie mir anzeigen kann.

    kann mir jemand einen Tip geben?
    Wäre für jede Hilfe Dankbar


    Gruß
    Jürgen
    Das hatte ich auch gefunden läuft aber auf einen Fehler

    VB.NET-Quellcode

    1. Dim req As Net.WebRequest = Net.WebRequest.Create("http://www.uhrzeit.org/atomuhr.html")
    2. Dim res As Net.WebResponse = req.GetResponse
    3. Dim Source As New IO.StreamReader(res.GetResponseStream)
    4. Dim text As String = Source.ReadToEnd
    5. Source.Close()
    6. Dim mats As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches(text, "<div id=""anzeige"">")
    7. Dim StartIndex As Integer = mats(0).Index + mats(0).Length
    8. Dim Zeit As String = text.Substring(StartIndex, 8)
    9. Label1.Text = Zeit


    bei

    VB.NET-Quellcode

    1. Dim StartIndex As Integer = mats(0).Index + mats(0).Length


    Ein Ausnahmefehler des Typs "System.ArgumentOutOfRangeException" ist in System.dll aufgetreten.
    Zusätzliche Informationen: Das angegebene Argument liegt außerhalb des gültigen Wertebereichs.

    Leider koomme ich nicht weiter
    Ja der Code ist veraltet, und stimme nichtmehr mit dem Layout der website überein.


    VB.NET-Quellcode

    1. Private Function GetStringBetween(source As String, startString As String, endString As String) As String
    2. Dim output As String = source
    3. output = source.Substring(source.IndexOf(startString) + startString.Length)
    4. output = output.Substring(0, output.IndexOf(endString))
    5. Return output
    6. End Function
    7. Private Function GetTimeFromInternet() As DateTime
    8. Dim req As Net.WebRequest = Net.WebRequest.Create("http://www.uhrzeit.org/atomuhr.html")
    9. Dim res As Net.WebResponse = req.GetResponse
    10. Dim time As New DateTime
    11. Using sr As New IO.StreamReader(res.GetResponseStream)
    12. time = DateTime.ParseExact(GetStringBetween(sr.ReadToEnd, "<div id=""anzeige_zeit"">", "</div>"), "HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)
    13. End Using
    14. Return time
    15. End Function

    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Auch wenn das Thema bereits erledigt ist: Es ist sicher ratsamer, das ganze via NTP zu machen, siehe z. B. stackoverflow.com/questions/32159794/ntp-read-vb-net

    Bei der jetzigen Lösung ist man sehr stark auf die unveränderte HTML-Seite angewiesen, also eine ganz schlechte Lösung.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum