Perl
Chilkat2 Perl
Get Current Date/Time from NIST Time Server
See more Socket/SSL/TLS Examples
Demonstrates using Chilkat Socket to connect to an NIST time server and (using the old Time Protocol (RFC 868)), will read the current GMT time.Note: This is not necessarily the very best means for getting the current date/time. The most commonly used time protocol is the Network Time Protocol (RFC-1305).
Chilkat Perl Downloads
use strict;
use warnings;
use Chilkat2;
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
my $socket = Chilkat2::Socket->new;
# Connect to an NIST time server and read the current date/time
my $maxWaitMs = 4000;
my $useTls = 0;
my $success = $socket->Connect('time-c.nist.gov', 37, $useTls, $maxWaitMs);
if (!$success) {
print $socket->LastErrorText, "\n";
exit;
}
# The time server will send a big-endian 32-bit integer representing
# the number of seconds since since 00:00 (midnight) 1 January 1900 GMT.
# The ReceiveInt32 method will receive a 4-byte integer, but returns
# 1 or 0 to indicate success. If successful, the integer
# is obtained via the ReceivedInt property.
my $bigEndian = 1;
$success = $socket->ReceiveInt32($bigEndian);
if (!$success) {
print $socket->LastErrorText, "\n";
exit;
}
my $dt = Chilkat2::DateTime->new;
$dt->SetFromNtpTime($socket->ReceivedInt);
# Show the current local date/time
my $bLocalTime = 1;
print 'Current local date/time: ', $dt->GetAsRfc822($bLocalTime), "\n";
$maxWaitMs = 10;
$socket->Close($maxWaitMs);