Re: get date of last week with script (227 Views)
Reply
Advisor
Kyuyong-Kwon
Posts: 22
Registered: ‎03-22-2007
Message 1 of 13 (227 Views)
Accepted Solution

get date of last week with script

Dear all
i'm mading a script
i want to get all date of last week with script.
today is 05/04/2010
Begin date will be Mon - 04/26/2010
Tue - 04/27/2010
Wed - 04/28/2010
Thu - 04/29/2010
Fri - 04/30/2010
Sat - 05/01/2010
End date will be Sun - 05/02/2010

how can i make a script.
help me

Thanks
Trusted Contributor
Prasanth V Aravind
Posts: 257
Registered: ‎09-05-2007
Message 2 of 13 (227 Views)

Re: get date of last week with script

This will be very easy if you convert today date to epoch time,
then minus 7 days, then convert the result back to normal date/time

Gudluck
Prasanth
Acclaimed Contributor
James R. Ferguson
Posts: 21,184
Registered: ‎07-06-2000
Message 3 of 13 (227 Views)

Re: get date of last week with script

Hi:

If you wanted the last seven days, you could do:

# perl -le '$t=time();for ($d=$t-(7*86400);$d<=$t;$d+=86400) {print scalar localtime($d)}'

Regards!

...JRF...
Advisor
Kyuyong-Kwon
Posts: 22
Registered: ‎03-22-2007
Message 4 of 13 (227 Views)

Re: get date of last week with script

James
Thank you very much.......
Advisor
Kyuyong-Kwon
Posts: 22
Registered: ‎03-22-2007
Message 5 of 13 (227 Views)

Re: get date of last week with script

Oh I'm sorry.
I don't wanted the last seven days from today
i wanted all date of last week.
Get date => monday~Sunday of last week.
Please help me.

Good luck.
Trusted Contributor
Prasanth V Aravind
Posts: 257
Registered: ‎09-05-2007
Message 6 of 13 (227 Views)

Re: get date of last week with script

#!/usr/bin/ksh


Current_time_epoch=`perl -e "print time "`
Week_day=`date +%a`

#days to be minus to get last sunday
# IF today is
# Sunday = 7days
# monday = 8days
# teusday= 9days
# Wednesday= 10days
# Thursday= 11days
# friday= 12days
# saturday= 13days


case "$Week_day" in
Sun ) Sec_to_last_sunday=` echo 7 | awk '{print $1*24*60*60}'` ;;
Mon ) Sec_to_last_sunday=` echo 8 | awk '{print $1*24*60*60}'` ;;
Tue ) Sec_to_last_sunday=` echo 9 | awk '{print $1*24*60*60}'` ;;
Wed ) Sec_to_last_sunday=` echo 10 | awk '{print $1*24*60*60}'` ;;
Thu ) Sec_to_last_sunday=` echo 11 | awk '{print $1*24*60*60}'` ;;
Fri ) Sec_to_last_sunday=` echo 12 | awk '{print $1*24*60*60}'` ;;
Sat ) Sec_to_last_sunday=` echo 13 | awk '{print $1*24*60*60}'` ;;
esac

let "Last_Sunday_epoch = $Current_time_epoch - $Sec_to_last_sunday"
let "Last_Mon_epoch = $Last_Sunday_epoch + 86400"
let "Last_Tue_epoch = $Last_Mon_epoch + 86400"
let "Last_Wed_epoch = $Last_Tue_epoch + 86400"
let "Last_Thu_epoch = $Last_Wed_epoch + 86400"
let "Last_Fri_epoch = $Last_Thu_epoch + 86400"
let "Last_Sat_epoch = $Last_Fri_epoch + 86400"


############Create a tmplate script ######

echo '#!/usr/bin/perl
$time = localtime($ARGV[0]);
print "$time\n";

' > /tmp/epoch_to_normal.pl

chmod 755 /tmp/epoch_to_normal.pl
#############################################

/tmp/epoch_to_normal.pl $Last_Sunday_epoch
/tmp/epoch_to_normal.pl $Last_Mon_epoch
/tmp/epoch_to_normal.pl $Last_Tue_epoch
/tmp/epoch_to_normal.pl $Last_Wed_epoch
/tmp/epoch_to_normal.pl $Last_Thu_epoch
/tmp/epoch_to_normal.pl $Last_Fri_epoch
/tmp/epoch_to_normal.pl $Last_Sat_epoch


Try
Trusted Contributor
Prasanth V Aravind
Posts: 257
Registered: ‎09-05-2007
Message 7 of 13 (227 Views)

Re: get date of last week with script

Hi,

your expected output is like this ????



[root@vm1 ~]# ./get_last_week_days.sh
Sun May 2 08:34:10 2010
Mon May 3 08:34:10 2010
Tue May 4 08:34:10 2010
Wed May 5 08:34:10 2010
Thu May 6 08:34:10 2010
Fri May 7 08:34:10 2010
Sat May 8 08:34:10 2010


Gudluck
Prasanth
Advisor
Kyuyong-Kwon
Posts: 22
Registered: ‎03-22-2007
Message 8 of 13 (227 Views)

Re: get date of last week with script

Wow Thank you for reply!!! :-)
Acclaimed Contributor
James R. Ferguson
Posts: 21,184
Registered: ‎07-06-2000
Message 9 of 13 (227 Views)

Re: get date of last week with script

Hi (again):

...or all in Perl:

# perl -le '$t=time();$d=7+(localtime)[6];$b=$t-($d*86400);for (0..6) {print scalar localtime($b+($_*86400))}'
Sun May 2 09:34:33 2010
Mon May 3 09:34:33 2010
Tue May 4 09:34:33 2010
Wed May 5 09:34:33 2010
Thu May 6 09:34:33 2010
Fri May 7 09:34:33 2010
Sat May 8 09:34:33 2010

Regards!

...JRF...
Frequent Advisor
Kyu-Yong Kwon
Posts: 60
Registered: ‎12-30-2004
Message 10 of 13 (227 Views)

Re: get date of last week with script

Dear James
i have a question.
i don't know perl script.
i want to change date format as below:
Mon May 3 10:42:43 2010 => 20100503

Please help me.
Thanks
Acclaimed Contributor
James R. Ferguson
Posts: 21,184
Registered: ‎07-06-2000
Message 11 of 13 (227 Views)

Re: get date of last week with script

Hi (again):

> i want to change date format as below:
Mon May 3 10:42:43 2010 => 20100503

Use this:

# cat ./lastweek
#!/usr/bin/perl
use strict;
use warnings;
my $t = time();
my @t = localtime($t);
my $d = 7 + (@t)[6];
my $b = $t - ( $d * 86400 );
for ( 0 .. 6 ) {
$t = ( $b + ( $_ * 86400 ) );
@t = localtime( $b + ( $_ * 86400 ) );
printf "%s => %4d%02d%02d\n", scalar localtime($t), $t[5] + 1900,
$t[4] + 1, $t[3];
}
1;

...run as:

# ./lastweek
Sun May 2 11:01:06 2010 => 20100502
Mon May 3 11:01:06 2010 => 20100503
Tue May 4 11:01:06 2010 => 20100504
Wed May 5 11:01:06 2010 => 20100505
Thu May 6 11:01:06 2010 => 20100506
Fri May 7 11:01:06 2010 => 20100507
Sat May 8 11:01:06 2010 => 20100508

...

Please reopen this thread to assign points appropriately. See:

https://forums11.itrc.hp.com/service/forums/helptips.do?#41

https://forums11.itrc.hp.com/service/forums/helptips.do?#22

Regards!

...JRF...
Frequent Advisor
Kyu-Yong Kwon
Posts: 60
Registered: ‎12-30-2004
Message 12 of 13 (227 Views)

Re: get date of last week with script

thanks a lot
Acclaimed Contributor
James R. Ferguson
Posts: 21,184
Registered: ‎07-06-2000
Message 13 of 13 (227 Views)

Re: get date of last week with script

Hi (again):

> thanks a lot

I'm glad you're satisfied with the answers provided. The appropriate thing to do is to reopen this thread and assign points appropriately. See:

https://forums11.itrc.hp.com/service/forums/helptips.do?#41

https://forums11.itrc.hp.com/service/forums/helptips.do?#22

Regards!

...JRF...
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.