$year is a number. Numbers do not retain leading zeros. "$year %= 100;" does
not return the string "02"; it returns the number 2. Try something like
this -
$s_year = sprintf("%02u", $year);
print "$s_year";

The sprintf function basically converts the number into a string. 

"sprintf returns a string formatted by the usual printf conventions 
of the C library function sprintf." -- 
http://www.perldoc.com/perl5.6.1/pod/func/sprintf.html

It's just the same thing you did with the $theDate variable only applied to
a single item

of the list on the right side of the assignment.


----- Original Message -----
From: "Troy May" <[EMAIL PROTECTED]>
To: "Beginners CGI List" <[EMAIL PROTECTED]>
Sent: Sunday, March 03, 2002 12:52 AM
Subject: Date format again


> Hello, this guy finally emailed his script to me.  The problem he is
having
> is with "$year".  Here's the dating part of the code:
>
> ---------------------------------------
> $date = `/bin/date`;
> chop($date);
> ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime;
> $thisday = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[(localtime) [6]];
> $s = (localtime)[0];
> $m = (localtime)[1];
> $m = ($m + 35) ;
>
> $h = (localtime)[2];
>
> if ($m >=60)
> {
> $m = ($m - 60);
> $h = ($h + 1);
> }
> if ($h >=24)
> {
> $h = 1;
> }
> else
> {
> $h = ($h + 10) ;
> }
>
> $month =
(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)[(localtime)[4]];
> $year = (localtime)[5];
> $year = ($year + 1900);
>
> $day = (localtime)[3];
>
>
> # this coding is creating problem
>
> ($sec,$min,$hour,$mday,$mon,$year,undef,undef,undef) = localtime();
> $mon++; # adjust from 0-11 to 1-12
> $year %= 100;
> $theDate = sprintf("%02u%02u%02u", $mday, $mon, $year);
>
> ------------------------------------------
>
> Now, when he prints "$theDate", everything is ok with it (format-030302).
> But when he prints just "$year" it displays "2" instead of "2002"
>
> Any ideas?
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to