* re-jiggered the question to get rid of the hyphens

* expanded the answer using POSIX, Time::Local, and Date::Calc


Index: perlfaq.pod
===================================================================
RCS file: /cvs/public/perlfaq/perlfaq.pod,v
retrieving revision 1.17
diff -u -d -r1.17 perlfaq.pod
--- perlfaq.pod 26 Jan 2003 17:45:46 -0000      1.17
+++ perlfaq.pod 26 Jan 2003 18:19:54 -0000
@@ -412,7 +412,7 @@
 
 =item *
 
-How do I find the week-of-the-year/day-of-the-year?
+How do I find the day or week of the year?
 
 =item *
 
Index: perlfaq4.pod
===================================================================
RCS file: /cvs/public/perlfaq/perlfaq4.pod,v
retrieving revision 1.40
diff -u -d -r1.40 perlfaq4.pod
--- perlfaq4.pod        26 Jan 2003 17:43:21 -0000      1.40
+++ perlfaq4.pod        26 Jan 2003 18:19:56 -0000
@@ -353,13 +353,34 @@
 
 =head1 Data: Dates
 
-=head2 How do I find the week-of-the-year/day-of-the-year?
+=head2 How do I find the day or week of the year?
 
-The day of the year is in the array returned by localtime() (see
-L<perlfunc/"localtime">):
+The localtime function returns the day of the week.  Without an
+argument localtime returns the current seconds since the epoch.
 
-    $day_of_year = (localtime(time()))[7];
+    $day_of_year = (localtime)[7];
+    
+The POSIX module can also format a date as the day of the year or
+week of the year.
+
+       use POSIX qw/strftime/;
+       my $day_of_year  = strftime "%j", localtime;
+       my $week_of_year = strftime "%W", localtime;
 
+To get the day of year for any date, use the Time::Local module to get
+a time in epoch seconds for the argument to localtime.
+
+       use POSIX qw/strftime/;
+       use Time::Local;
+       my $week_of_year = strftime "%W", 
+               localtime( timelocal( 0, 0, 0, 18, 11, 1987 ) );
+
+The Date::Calc module provides two functions for to calculate these.
+
+       use Date::Calc;
+       my $day_of_year  = Day_of_Year(  1987, 12, 18 );
+       my $week_of_year = Week_of_Year( 1987, 12, 18 );
+
 =head2 How do I find the current century or millennium?
 
 Use the following simple functions:

-- 
brian d foy, [EMAIL PROTECTED]

Reply via email to