Date function question


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Date function question
# 1  
Old 09-17-2001
Question Date function question

hi guys!
just want to ask if you could help me with the sript i'm working on. i need to automatically generate a summarized report everyday for all transactions the day before and ftp it to another machine. my only problem is that i need to name the file as the date yesterday. for example if i would generate a report today (09172001), the filename should be 09162001.txt, i've read the man for date but i haven't got a clue as to what to do.
please help.
thanks!

Last edited by crpalermo; 09-17-2001 at 03:23 AM..
# 2  
Old 09-17-2001
MySQL

Dear friend

write a few lines in the shell as follows:

bye using date format command store today's date value in variable dt

hence if todays date is 09282001 in mmddyyyy format
dt='09282001'
now store value of dt to a file
echo $dt>file1
now cut value of today's date in variable v1
v1=`cut -c3-4 file1`
now find out value of previous date by using expr command
v2=`expr $v1 -1`
now prepare the full date by replacing 3rd and 4th chr of file1 by value of v1

Of course you will also have to add validations for last date of months and for february also
hope expr command will help you

Wish you all the best

yours friendly
VRJoshi
# 3  
Old 09-17-2001
just a thought. I dont see much use of processing data and labeling it the day befor. why not just run it from cron @ end of bussiness day or even at 11:55pm then u dont have to worry about adding and subtracting from the date.?

also if you look at the date man page at the bottom there are plenty of examples of getting the date in a format you would like.
# 4  
Old 09-17-2001
Quote:
Originally posted by Optimus_P
why not just run it from cron @ end of bussiness day or even at 11:55pm then u dont have to worry about adding and subtracting from the date.?
Then what if something happens at 11:56, that wont be reflected in the log file. One solution might be to do something like:

Code:
DATESTRING=`date +%m%d%Y`

sleep 120

# run report, redirect to $DATESTRING.txt

Run it at 11:59pm from crontab...
# 5  
Old 09-17-2001
ptx: i agree but that is why i said run it late.ie 11:56. most business should be done.

but w/ your example i completly agree and it is a great idea to get the date string first then sleep for 2 mins then finish.
# 6  
Old 09-17-2001
Well, I'm bored this afternoon...so
Code:
#!/usr/bin/ksh

set -A months 0 31 28 31 30 31 30 31 31 30 31 30 31
typeset -Z2 month_y day_y

today=$(date +%m%d%Y)

month_t=${today%??????}
year_t=${today#????}
day_t=${today%????}
day_t=${day_t#??}

((year_t % 100)) && ((leap = !(year_t % 4))) || ((leap = !(year_t % 400)))
((leap)) && ((months[2] = months[2] + 1))

((year_y = year_t))
((month_y = month_t))
((day_y = day_t - 1))

if ((!day_y)) ; then
   ((month_y = month_y - 1))
   if ((!month_y)) ; then
      ((year_y = year_y-1))
      ((month_y = 12))
   fi
   ((day_y = months[month_y]))
fi

yesterday=${month_y}${day_y}${year_y}
echo yesterday = $yesterday
	
exit 0

I think I got this right...I only tested it lightly.
These 2 Users Gave Thanks to Perderabo For This Post:
# 7  
Old 09-18-2001
Thanks for all the help guys! I highly appreciate it
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Date Reformatting function

Hi , I am trying to create a function with below requirements 1. It will take two parameters as Input. Date and Date format 2. Output will be in YYYYMMDD format. Example 1: Input: fn_date_reformatter('01-AUG-2014','DD-MON-YYYY') Output: 20140801 Example 2: Input:... (4 Replies)
Discussion started by: Anupam_Halder
4 Replies

2. Shell Programming and Scripting

Date function

I read man page for etc/shadow field.. on the 8th field, i assume that's the field to change account expire date. my question is: What value does the 8th field keep? i assume it's 13514 instead of "Date" value such as 11/10/08. on the man page, it said: " expire value = 13514 = jan 1,... (11 Replies)
Discussion started by: c00kie88
11 Replies

3. UNIX for Advanced & Expert Users

Get date from cal function

Cal Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 cal | awk '{print $7}' Sat 13 20 27 In the above output i am missing 6 because the first column is empty so it is shfting. How... (3 Replies)
Discussion started by: ukatru
3 Replies

4. UNIX for Advanced & Expert Users

Friendz.. plz help me on this date function.

:confused: Hi there. Hi frndz, I have to script a shell in such a way that by giving the current date, it should give the previous saturday date and next sunday date as output. eg: Input - 01-01-2008 O/p - last saturady- 30-12-2007(ddmmyy) Next Sunday- 05-01-2008 ... (14 Replies)
Discussion started by: psn123
14 Replies

5. Web Development

work with date function

hi, how can i can pass the value of unixformat to date/time? and how can i retrieve the day/month/year from a date? thanks a lot for your help ps:i using php (1 Reply)
Discussion started by: jasonx22
1 Replies

6. Shell Programming and Scripting

Date Function

Hi, My file format is: E102,0,21-04-2007,0,2/25/1994,E003,A,125400,10450,60.2884620 E103,0,21/04/2007,0,2/2/1996,E003,A,125400,10450,60.2884620 E104,0,04/21/2007,0,2/2/1996,E003,A,125400,10450,60.2884620 E105,0,21-APR-2007,0,2/2/1996,E003,A,125400,10450,60.2884620... (1 Reply)
Discussion started by: charandevu
1 Replies

7. Shell Programming and Scripting

Date Function

Hi, My file format is: E102,0,21-04-2007,0,2/25/1994,E003,A,125400,10450,60.2884620 E103,0,21/04/2007,0,2/2/1996,E003,A,125400,10450,60.2884620 E104,0,04/21/2007,0,2/2/1996,E003,A,125400,10450,60.2884620 E105,0,21-APR-2007,0,2/2/1996,E003,A,125400,10450,60.2884620... (1 Reply)
Discussion started by: charandevu
1 Replies

8. Shell Programming and Scripting

Wrong date function

Hi, I am getting some very strange output when using date function in PERL on Solaris. Infact the month portion is wrong and it is 1 less then the current, means today it is responding as month =3 , andthis should be 4 ------> April Any help my code is ($day, $month, $year) =... (3 Replies)
Discussion started by: Asteroid
3 Replies

9. Shell Programming and Scripting

date function

hi, I have to ftp previous days file from a directory to another location. The name of the files are like "xxx20060225" (yyyymmdd format) "xxx20060226" ls -lrt xxx*| tail -2| head -1 will give me the file, but if i could get anything... (2 Replies)
Discussion started by: abey
2 Replies

10. UNIX for Dummies Questions & Answers

Yesterday's date function

I am using this function to calculate yesterday's date and return it in the following format: Jan 09 date '+%b %d %Y' | { read MONTH DAY YEAR DAY=`expr "$DAY" - 1` case "$DAY" in 0) MONTH=`expr "$MONTH" - 1` case "$MONTH" in ... (4 Replies)
Discussion started by: ssmiths001
4 Replies
Login or Register to Ask a Question