Sample code for 30+ languages & platforms
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

Chilkat2 Perl
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);