Uhrzeit Stellen verhinden
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.
-
-
Hi Pixxas,
zum Thema Uhrzeit aus dem Internet (NTP) habe ich folgendes gefunden:
stackoverflow.com/questions/11…ery-an-ntp-server-using-c
Übersetzt nach VB:
VB.NET-Quellcode
- Public Shared Function GetNetworkTime() As DateTime
- 'default Windows time server
- Const ntpServer As String = "time.windows.com"
- ' NTP message size - 16 bytes of the digest (RFC 2030)
- Dim ntpData = New Byte(47) {}
- 'Setting the Leap Indicator, Version Number and Mode values
- ntpData(0) = &H1b
- 'LI = 0 (no warning), VN = 3 (IPv4 only), Mode = 3 (Client Mode)
- Dim addresses = Dns.GetHostEntry(ntpServer).AddressList
- 'The UDP port number assigned to NTP is 123
- Dim ipEndPoint = New IPEndPoint(addresses(0), 123)
- 'NTP uses UDP
- Dim socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
- socket.Connect(ipEndPoint)
- 'Stops code hang if NTP is blocked
- socket.ReceiveTimeout = 3000
- socket.Send(ntpData)
- socket.Receive(ntpData)
- socket.Close()
- 'Offset to get to the "Transmit Timestamp" field (time at which the reply
- 'departed the server for the client, in 64-bit timestamp format."
- Const serverReplyTime As Byte = 40
- 'Get the seconds part
- Dim intPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime)
- 'Get the seconds fraction
- Dim fractPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime + 4)
- 'Convert From big-endian to little-endian
- intPart = SwapEndianness(intPart)
- fractPart = SwapEndianness(fractPart)
- Dim milliseconds = (intPart * 1000) + ((fractPart * 1000) / &H100000000L)
- '**UTC** time
- Dim networkDateTime = (New DateTime(1900, 1, 1, 0, 0, 0, _
- DateTimeKind.Utc)).AddMilliseconds(CLng(milliseconds))
- Return networkDateTime.ToLocalTime()
- End Function
- ' stackoverflow.com/a/3294698/162671
- Private Shared Function SwapEndianness(x As ULong) As UInteger
- Return CUInt(((x And &Hff) << 24) + ((x And &Hff00) << 8) + ((x And &Hff0000) >> 8) + ((x And &Hff000000UI) >> 24))
- End Function
- '=======================================================
- 'Service provided by Telerik (www.telerik.com)
- 'Conversion powered by NRefactory.
- 'Twitter: @telerik
- 'Facebook: facebook.com/telerik
- '=======================================================
Funktioniert 1A
Gruß & ein schönes WE
7081 -
Gibt ne Stopwatch Klasse. Damit kann man die vergangene Zeit easy messen."Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
-
Pixxxas schrieb:
Ein Timer muss nicht sein.
Von Timer hat hier auch keiner gesprochen.
Schau mal hier: msdn.microsoft.com/de-de/libra….stopwatch(v=vs.110).aspx"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Pixxxas schrieb:
Und wie würde ich das machen, wenn z.b. das Programm übernachte geschlossen wird?
Dann eher wie oben mit Uhrzeiten/Datum speichern. Die Stopwatch läuft ja nicht wenn das Programm nicht läuft. Das dein Programm teilweise nicht läuft, hattest du ja leider nicht geschrieben."Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
-
Wo/wie werden diese Zeiten gespeichert?"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
-
Liegt die DB auf dem Client PC oder auf nem Server?
Schau dir mal String.Format() an. Damit kannst du deine Zeitbuchung Formatieren."Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
@mrMo auf einem Server.
könntest du mir ein Beispiel für oben bitte geben?
So Zeigt er es ja richtig an; Start 31.03.2017 16:00 aber wenn jetzt die Differenz Berechnet wird Zeit er die Differenz und ms an als z.b.
Start: 16:00
Stop: 17:00
Differenz: 01:00:000001
-
Ich nehme mal an, dass du deine Daten per SQL in der DB speicherst. Dort gäbe es den GetDate() Parameter. Der holt die Uhrzeit vom Server, nicht vom Client. Evtl. wäre das ne einfachere Lösung.
Beispiele für String. Format gibts hier: msdn.microsoft.com/de-de/libra…ing.format(v=vs.110).aspx"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
Pixxxas schrieb:
wenn z.b. das Programm übernachte geschlossen wird
Wenn sich alle 3 Posts neue Teilprobleme auftun, lässt sich schlecht eine ordentliche Lösung findenFalls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
Ähnliche Themen
-
MediaXtremely - - Sonstige Problemstellungen
-
4 Benutzer haben hier geschrieben
- Pixxxas (6)
- mrMo (6)
- RodFromGermany (2)
- 7081 (1)