You can also do this:

Code:
SYS@rman AS SYSDBA> select to_char(this_date, 'day') day, this_date 
from ( select trunc(sysdate, 'd')-36 this_date from dual);

DAY          THIS_DATE
------------ ---------------
saturday     05-FEB-11

Elapsed: 00:00:00.10
SYS@rman AS SYSDBA> select to_char(this_date, 'day') day, this_date 
from ( select trunc(sysdate, 'd')+41 this_date from dual);

DAY          THIS_DATE
------------ ---------------
saturday     23-APR-11

Elapsed: 00:00:00.05