Win32::RemoteTOD - Get the time & timezone of a remote Win32 machine


NAME

Win32::RemoteTOD - Get the time & timezone of a remote Win32 machine


SYNOPSIS

        use strict;
        use Win32::RemoteTOD qw(GetTOD);
        my $TimeInfo;
        my $Result = GetTOD('servername', $TimeInfo);
        if ($Result) {
                print "Error: $Result\n";
                exit 1;
        }
        my @days = qw( Sunday Monday Tuesday Wednesday 
                                        Thursday Friday Saturday );
        printf("Date/Time is %s %02u/%02u/%02u %02u:%02u:%02u.%02u GMT.\n",
                $days[$TimeInfo->{weekday}],
                $TimeInfo->{month},
                $TimeInfo->{day},
                $TimeInfo->{year},
                $TimeInfo->{hours},
                $TimeInfo->{mins},
                $TimeInfo->{secs},
                $TimeInfo->{hunds},
        );
        if ($TimeInfo->{timezone} == -1) {
                print "The timezone is undefined.\n";
        }
        elsif ($TimeInfo->{timezone} == 0) {
                print "The timezone is GMT.\n";
        }
        else {
                printf("The timezone is %u minutes %s of GMT.\n",
                        abs($TimeInfo->{timezone}),
                        $TimeInfo->{timezone} > 0 ? 'west' : 'east',
                );
        }


DESCRIPTION

Win32::RemoteTOD is used to retreive the date, time, and timezone from a remote Win32 machine. There is one function, called ``GetTOD()'' which sets a hashref containing 12 keys as follows (direct from MSDN):

Hashref keys

elapsedt
Specifies a DWORD value that contains the number of seconds since 00:00:00, January 1, 1970, GMT.

msecs
Specifies a DWORD value that contains the number of milliseconds from an arbitrary starting point (system reset). Typically, this member is read twice, once when the process begins and again at the end. To determine the elapsed time between the process's start and finish, you can subtract the first value from the second.

hours
Specifies a DWORD value that contains the current hour. Valid values are 0 through 23.

mins
Specifies a DWORD value that contains the current minute. Valid values are 0 through 59.

secs
Specifies a DWORD value that contains the current second. Valid values are 0 through 59.

hunds
Specifies a DWORD value that contains the current hundredth second (1.00 second). Valid values are 0 through 99.

timezone
Specifies the time zone of the server. This value is calculated, in minutes, from Greenwich Mean Time (GMT). For time zones west of Greenwich, the value is positive; for time zones east of Greenwich, the value is negative. A value of -1 indicates that the time zone is undefined.

tinterval
Specifies a DWORD value that contains the time interval for each tick of the clock. Each integral integer represents one ten-thousandth second (0.0001 second).

day
Specifies a DWORD value that contains the day of the month. Valid values are 1 through 31.

month
Specifies a DWORD value that contains the month of the year. Valid values are 1 through 12.

year
Specifies a DWORD value that contains the year.

weekday
Specifies a DWORD value that contains the day of the week. Valid values are 0 through 6, where 0 is Sunday, 1 is Monday, and so on.

EXPORT

The single function, GetTOD() is exported by default.


AUTHOR

Adam Rich, <arich@cpan.org>


SEE ALSO

the perl manpage.

 Win32::RemoteTOD - Get the time & timezone of a remote Win32 machine