The PHP DateTime library would be my preferred method of doing what you want.
//Only need to specify parameters if your timezone is not set.
$now = new DateTime( 'now', new DateTimeZone( 'America/New_York' ) ); //1319061332 or 10/19/2011 @ 4:55pm
//If your timezone is set in php.ini
//$now = new DateTime(); //1319061332 or 10/19/2011 @ 4:55pm
$timestamp = $now->getTimestamp(); //1319061332
//Minus 24 hours
$past24hrs = $now->sub( new DateInterval( 'P24H' ) );
$timestamp = $past24hrs->getTimestamp();
//Minus 1 week
$past1week = $now->sub( new DateInterval( 'P1W' ) );
$timestamp = $past1week->getTimestamp();
//Minus 30 days
$past30days = $now->sub( new DateInterval( 'P30D' ) );
$timestamp = $past30days->getTimestamp();
Just be aware that there are limitations to strtotime and similar functions. The y2k38 bug is when the unix timestamp will exceed a 32bit integer. So for example, if you would try to generate a date, say 30 years in the future (maybe the end date of a mortgage), it will fail.
The php DateTime classes do no suffer from this same limitation. A 64bit build of php will also solve this.