Date One Week Ago From Given Date, Not From Current Date


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Date One Week Ago From Given Date, Not From Current Date
# 1  
Old 11-09-2010
Date One Week Ago From Given Date, Not From Current Date

Hi all,

I've used various scripts in the past to work out the date last week from the current date, however I now have a need to work out the date 1 week from a given date.

So for example, if I have a date of the 23rd July 2010, I would like a script that can work out that one week back was the 16th of July 2010.

Can anybody help?

I normally use something like this in perl

Code:
use Time::Local;
$back_time = (time() - (1*86400));

Is there a way to replace time() which is the current date with any date I choose?

Thanks in advance!
# 2  
Old 11-09-2010
Try this,

Code:
perl -e 'use Time::Local; use POSIX 'strftime';  print strftime "%d/%m/%Y\n", localtime timelocal(0,0,0,23,7-1,2010) - (7*24*60*60);

This User Gave Thanks to pravin27 For This Post:
# 3  
Old 11-09-2010
Hi,
another way is to use the fantastic date command, if perl isn't a requirement, and sh is ok.
Example:
Code:
date +%Y-%m-%d -d "2008-01-03 -7 days"

or in Your case,
Code:
back_time=$(date +%Y-%m-%d -d "2010-07-23 -7 days")

or with variable start date
Code:
start_date=2010-07-23
back_time=$(date +%Y-%m-%d -d "$start_date -7 days")

lots of options and very pedagogic!
Smilie

Best regards,
Lakris

Last edited by Lakris; 11-09-2010 at 05:52 PM.. Reason: added example
# 4  
Old 11-09-2010
Note the the solution by Lakris only works if you are using the GNU date utility.
# 5  
Old 11-10-2010
Hi,

I didn't have GNU date so I used Pravin's perl solution. It works perfectly, many thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find week of the year for given date using date command inside awk

Hi all, Need an urgent help on the below scenario. script: awk -F"," 'BEGIN { #some variable assignment} { #some calculation and put values in array} END { year=#getting it from array and assume this will be 2014 month=#getting it from array and this will be 05 date=#... (7 Replies)
Discussion started by: vijaidhas
7 Replies

2. Shell Programming and Scripting

Can we get Tuesday's date of the current week in UNIX

Hi All, I have a requirement which would calculate the Tuesday's date of the current week in yyyymmdd format in unix shell script. Please help me out how could I do this . I appreciate your help Regards, raj (7 Replies)
Discussion started by: rajeevm
7 Replies

3. Shell Programming and Scripting

Extract week start,end date from given date in PERL

Hi All, what i want to do in perl is i should give the date at run time .Suppose date given is 23/12/2011(mm/dd/yyyy) the perl script shold find week start date, week end date, previous week start date,end date,next week start date, end date. In this case week start date will be-:12/19/2011... (2 Replies)
Discussion started by: parthmittal2007
2 Replies

4. UNIX for Dummies Questions & Answers

Delete a row from a file if one column containing a date is greater than the current system date

Hello gurus, I am hoping someone can help me with the required code/script to make this work. I have the following file with records starting at line 4: NETW~US60~000000000013220694~002~~IT~USD~2.24~20110201~99991231~01~01~20101104~... (4 Replies)
Discussion started by: chumsky
4 Replies

5. UNIX for Dummies Questions & Answers

Can we get every tuesday or monday's date for the current week

Hi Can we get every tuesday or monday's date for the current week ? For the current week i need tuesday's date or monday's date in %m%d%y fromat Thanks (5 Replies)
Discussion started by: laxmi131
5 Replies

6. Shell Programming and Scripting

how to obtain date and day of the week from `date` command

Hi, does anybody know how to format `date` command correctly to return the day of the week? Thanks -A I work in ksh.... (1 Reply)
Discussion started by: aoussenko
1 Replies

7. Shell Programming and Scripting

how to get what date was 28 days ago of the current system date IN UNIX

Hi, Anybody knows how to get what date was 28 days ago of the current system date through UNIX script. Ex : - If today is 28th Mar 2010 then I have to delete the files which arrived on 1st Mar 2010, (15 Replies)
Discussion started by: kandi.reddy
15 Replies
Login or Register to Ask a Question