in reply to Perl from PHP

mktime is a POSIX function, so you can use POSIX::mktime. Although you can (probably should) use one of the Date modules from CPAN, here are a couple of brief functions:
sub dayofweek { # 0=Sunday .. 6=Saturday # input is Unix epoch time return (4 + int($_[0]/86400)) % 7; } sub daysinmonth { # input is Unix epoch time my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($_[0]); if (++$mon == 12) { $mon = 0; $year++; } ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(POSIX::mktime(0,0,0,1,$mon,$year) - 3600*3); return $mday; }
Update:Errr, don't use the day of week function. It gives the day of week all right--in London (gmtime)! Here's an even simpler function that works with your time zone:
sub dayofweek { (localtime $_[0])[6] }
Duh.