Why wouldn't you just use Perl "time() - 86400" (# seconds in a day), and then transform as desired with gmtime or whatever? (In theory it might be a second off if you did it at half a second past a midnight with a leap second...) Rgds, GStC. -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jared Still Sent: Tuesday, March 29, 2005 7:30 PM To: jknight@xxxxxxxxxxxxxx Cc: oracle-l Subject: Re: date minus one And yet one more. #!/bin/sh # ydate: A Bourne shell script that # prints yestarday's date # Output Form: Month Day Year # From Focus on Unix: http://unix.about.com # Set the current month day and year. month=`date +%m` day=`date +%d` year=`date +%Y` # Add 0 to month. This is a # trick to make month an unpadded integer. month=`expr $month + 0` # Subtract one from the current day. day=`expr $day - 1` # If the day is 0 then determine the last # day of the previous month. if [ $day -eq 0 ]; then # Find the preivous month. month=`expr $month - 1` # If the month is 0 then it is Dec 31 of # the previous year. if [ $month -eq 0 ]; then month=12 day=31 year=`expr $year - 1` # If the month is not zero we need to find # the last day of the month. else case $month in 1|3|5|7|8|10|12) day=31;; 4|6|9|11) day=30;; 2) if [ `expr $year % 4` -eq 0 ]; then if [ `expr $year % 400` -eq 0 ]; then day=29 elif [ `expr $year % 100` -eq 0 ]; then day=28 else day=29 fi else day=28 fi ;; esac fi fi # Print the month day and year. echo "$year/$month/$day" exit 0 On Tue, 29 Mar 2005 12:55:06 -0600, Knight, Jon <jknight@xxxxxxxxxxxxxx> wrote: > Just curious how the rest of the world gets "yesterday" in UNIX. > We're running Solaris and we execute a sqlplus script with "select > sysdate-1 from dual;" and pipe it to tail to set an environment variable. > > Is there a more UNIXy way, -or- maybe a java function. Any > suggestions welcome. > > TIA, > Jon Knight > > -- > //www.freelists.org/webpage/oracle-l > -- Jared Still Certifiable Oracle DBA and Part Time Perl Evangelist -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l