thanks to everyone for their help on this . .
I've nearly got it!

the timezone change works but only when I use current time

$ENV{TZ} = ":/usr/share/zoneinfo/America/New_York";

my $epochtime = timelocal($dbsec, $dbmin, $dbhour, $dbday, $dbmonth,
$dbyear); # values out of database



             my $tm = localtime (time); # when used produces correct time
i.e. five hours behind London
             my $tm = localtime ($epochtime); # when used produces same hour
as $dbhour above i.e. doesn't change to timezone


printf("<br>Date And Time Formatted: %02d:%02d:%02d - %02d/%02d/%02d\n",
    $tm->hour, $tm->min, $tm->sec,
    $tm->mday,$tm->mon+1,$tm->year+1900);

Could it be the typeof variable that $epochtime is?
I've even tried lc($epochtime) before putting into localtime() function,
in case it didn't realise it was a string!!


any further thoughts appreciated,

Dermot

-----Original Message-----
From: Wagner, David --- Senior Programmer Analyst --- WGO
[mailto:[EMAIL PROTECTED]
Sent: 07 March 2003 16:20
To: Byrne, Dermot; [EMAIL PROTECTED]
Subject: RE: [Perl-unix-users] changing time from database to CET?


Byrne, Dermot wrote:
> aha
> 
> so I'm using timelocal function now
> but I'm getting
> Undefined subroutine ::timelocal
> 
> does this mean there is a seperate timelocal module i need to install?
> 
> I've got
> /usr/lib/perl5/5.6.0/Time/Local.pm
> /usr/lib/perl5/5.6.0/Time/gmtime.pm
> /usr/lib/perl5/5.6.0/Time/localtime.pm
> /usr/lib/perl5/5.6.0/Time/tm.pm
> 
> 
> 
> 
> -----Original Message-----
> From: $Bill Luebkert [mailto:[EMAIL PROTECTED]
> Sent: 07 March 2003 14:09
> To: Byrne, Dermot
> Cc: '[EMAIL PROTECTED]'
> Subject: Re: [Perl-unix-users] changing time from database to CET?
> 
> 
> Byrne, Dermot wrote:
>> Hello
>> 
>> As Bill suggested, here is what I have at the moment
>> 
>> $startFormatted is the date that comes out of database
>> (formatted with DATE_FORMAT( datetime, '%S %i %H %w %m %Y'))
>> 
>> # I have module
>> use Time::localtime;
>> 
>> # firstly i split variable into parts
>> my ($sec, $min, $hour, $day, $month, $year) = split(/
>> +/,$startFormatted); 
>> 
>> # but if I put into localtime function
>> my($localisedsec, $localisedmin, $localisedhour, $localisedday,
>> $localisedmonth, $localisedyear) = localtime ($sec, $min, $hour,
>> $day, $month, $year); 
>> 
>> # i get 'Too many arguments for localtime ' error
> 
> localtime takes one optional arg - an epoch time.
> Maybe you want timelocal instead ?
> 
>> when I put into localtime function like this
>> my($localisedsec, $localisedmin, $localisedhour, $localisedday,
>> $localisedmonth, $localisedyear) = localtime ($startFormatted);
>> 
>> # i doesn't mind however
>> 
>> 
>> # the statements
>> print $ENV{TZ};
>> print "<br>$startFormatted <br>";
>> print "$sec, $min, $hour, $day, $month, $year <br>";
>> print "$localisedsec, $localisedmin, $localisedhour, $localisedday,
>> $localisedmonth, $localisedyear";
>> 
>> #produce this output
>> CET
>> 00 00 14 0 03 2003
>> 00, 00, 14, 0, 03, 2003
>> 0, 0, 1, 1, 0, 70

        Add the following at start of script and should clear up problem:

use Time::Local;

Wags ;)


**********************************************************
This message contains information that is confidential
and proprietary to FedEx Freight or its affiliates.
It is intended only for the recipient named and for 
the express purpose(s) described therein.
Any other use is prohibited.
****************************************************************


________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________


http://www.musicchoice.co.uk

Support Digital Media - Join EDiMA - http://www.edima.org

Music Choice Limited (company registration number 2838971) is a
company incorporated in England and Wales with its registered
office at Fleet House, 57-61 Clerkenwell Road, London EC1M 5LA.
 
**********************************************************************
Information in this email is confidential and may be privileged. It is
intended for the addressee only. If you have received it in error,
please notify the sender immediately and delete it from your system.
You should not otherwise copy it, retransmit it or use or disclose its
contents to anyone.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to