P:\test>perl -le"print scalar localtime; $ENV{TZ}='PST8PDT'; print scalar localtime; system 'perl -le \"print scalar localtime\"' "
Thu Jan 19 19:52:12 2006
Thu Jan 19 19:52:12 2006
Thu Jan 19 11:52:12 2006
####
#include
#include
#include
#include
DWORD main(int argc, char *argv[]) {
struct tm *newtime;
char am_pm[] = "AM";
__time64_t long_time;
_putenv( argv[1] );
_time64( &long_time ); /* Get time as long integer. */
newtime = _localtime64( &long_time ); /* Convert to local time. */
if( newtime->tm_hour > 12 ) /* Set up extension. */
strcpy( am_pm, "PM" );
if( newtime->tm_hour > 12 ) /* Convert from 24-hour */
newtime->tm_hour -= 12; /* to 12-hour clock. */
if( newtime->tm_hour == 0 ) /*Set hour to 12 if midnight. */
newtime->tm_hour = 12;
printf( "%.19s %s\n", asctime( newtime ), am_pm );
return 0;
}
####
P:\test>ltime TZ=PST8PDT
Thu Jan 19 12:20:55 AM
####
#! perl -slw
use strict;
unless( $ENV{TZ} ) {
$ENV{TZ} = 'PST8PDT';
exec "$^X $0";
}
print scalar localtime;
__END__
P:\test>524251
P:\test>Thu Jan 19 12:32:30 2006
####
#! perl -slw
use strict;
print "default:" . localtime();
$ENV{TZ} = 'GST1GDT';
print `perl -le"print 'Germany: ' . localtime()"`;
$ENV{TZ} = 'PST8PDT';
print `perl -le"print 'Pacific: ' . localtime()"`;
__END__
P:\test>524251-2
default:Thu Jan 19 20:41:24 2006
Germany: Thu Jan 19 19:41:24 2006
Pacific: Thu Jan 19 12:41:24 2006