Re: [ILUG] $yesterday

From: Fergal Daly (fergal at domain esatclear.ie)
Date: Tue 23 Oct 2001 - 17:58:11 IST


with Perl (if your date isn't as facny as GNU's)

#!/usr/bin/perl

($d,$m,$y) = (localtime(time()-86400))[3,4,5];
$y += 1900;
print "$d/$m/$y\n";

or

perl -e '($d,$m,$y)=(localtime(time()-86400))[3,4,5];$y+=1900;print "$d/$m/$y\n"'

for brevity,

Fergal

On Tue, Oct 23, 2001 at 12:25:30PM -0400, Baldwin_James at domain emc.com wrote:
> All,
>
> Without going OTT, can anyone think of a way of echoing out a $yesterday
> variable (i.e. yesterdays date! :P )?
> Has the date binary got some fancy footwork to do this already ? Running
> *cough* Solaris 2.6 :(
>
> The only way I can think of is this nasty piece of self-made artwork
>
>
> #!/bin/ksh
>
> set -A DAYS Sat Sun Mon Tue Wed Thu Fri Sat
> set -A MONTHS Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
> YESTERDAY=$((`date +%d` -1))
> MONTH=`date +%m`
> YEAR=`date +%Y`
> NDAY=`date +%u`
> WEEKDAY=${DAYS[`date +%u`]}
> if [ $YESTERDAY -eq "0" ]
> then
> MONTH=$((MONTH-1))
> if [ $MONTH -eq "0" ]
> then
> MONTH=12
> YEAR=$((YEAR-1))
> fi
> set `cal $MONTH $YEAR`
> shift $(($# - 1))
> YESTERDAY=$1
> fi
> TMONTH=${MONTHS[MONTH]}
>
>
> Cheers,
> J.
>
> --
> Irish Linux Users' Group: ilug at domain linux.ie
> http://www.linux.ie/mailman/listinfo/ilug for (un)subscription information.
> List maintainer: listmaster at domain linux.ie

-- 


This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:12:52 GMT