Mit der genauen Zeit vom Zeitserver die Systemzeit setzen

Eine Anwendung der Win32 API

use strict; use warnings; use IO::Socket; use Win32::API; Win32::API::Struct->typedef( 'SYSTEMTIME', qw( WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; )); # Socket zum Zeitserver herstellen my $sh = IO::Socket::INET->new( "ptbtime2.ptb.de:37" ) or die $@; # lese Binary, 4 Bytes read($sh, my $bin, 4) or die "Kann Socket nicht lesen"; # Zeit in Sekunden seit 1.1.1970 my $time = unpack "N", $bin; $time -= 2208988800; # Differenz zu 1.1.1900 my $gmt = [gmtime($time)]; Win32::API->Import('kernel32', 'BOOL SetSystemTime(SYSTEMTIME lpPoint)'); my $st = Win32::API::Struct->new('SYSTEMTIME'); $st->{wYear} = $gmt->[5] + 1900; $st->{wMonth} = $gmt->[4] + 1; $st->{wDay} = $gmt->[3] + 1; $st->{wSecond} = $gmt->[0]; $st->{wMinute} = $gmt->[1]; $st->{wHour} = $gmt->[2]; $st->{wDayOfWeek} = $gmt->[6]; $st->{wMilliseconds} = 0; print "Systemzeit aktualisiert!\n" if SetSystemTime($st);

Datenschutzerklärung: Diese Seite dient rein persönlichen Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. nmq​rstx-18­@yahoo.de