Number of days between the current date and user defined date


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Number of days between the current date and user defined date
# 1  
Old 03-01-2011
Number of days between the current date and user defined date

I am trying to find out the number of days between the current date and user defined date.

I took reference from here for the date2jd() function.
Modified the function according to my requirement. But its not working properly.

Original code from here is working fine.

Code:
#!/bin/sh
########### date2jd function ############
date2jd() {
 integer ijd day month year mnjd jd lday
        year=$1
        month=$2
        day=$3
        echo $year
        echo $month
        echo $day
        ((standard_jd = day - 32075 
           + 1461 * (year + 4800 - (14 - month)/12)/4 
           + 367 * (month - 2 + (14 - month)/12*12)/12 
           - 3 * ((year + 4900 - (14 - month)/12)/100)/4))
        ((jd = standard_jd-2400001))
 echo $jd
        return 0
}
########### user defined date ###########
echo 'Enter date in the format dd/mm/yyyy'
read DATE
DD=`echo $DATE | cut -c1-2`
MM=`echo $DATE | cut -c4-5`
YYYY=`echo $DATE | cut -c7-10`
####### current date ############
DD2=`date '+%d'`
MM2=`date '+%m'`
YYYY2=`date '+%Y'`
jd1=$(date2jd $YYYY1 $MM1 $DD1) || exit $?
jd2=$(date2jd $YYYY2 $MM2 $DD2) || exit $?
((jd3=jd2-jd1))
  echo $jd3

Please help.
# 2  
Old 03-01-2011
Some days ago about same question.

You have variables YYYY DD MM, but try to use DD1, YYYY1, MM1.
And in function you have more than one echo. If you need test echo in function, then redirect it ex. to the stderr.
Code:
echo $year >&2

Now you echo your all values to the jd1 or jd2.

Read input version 2
Code:
echo 'Enter date in the format: dd mm yyyy'
read DD MM YYYY XSTR

No need to parse and so on.

Or
Code:
echo 'Enter date in the format: dd/mm/yyyy'
IFS="/" read DD MM YYYY XSTR
echo "$DD - $MM - $YYYY"

Or ...

Last edited by kshji; 03-01-2011 at 10:19 AM..
This User Gave Thanks to kshji For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. HP-UX

awk command in hp UNIX subtract 30 days automatically from current date without date illegal option

current date command runs well awk -v t="$(date +%Y-%m-%d)" -F "'" '$1 < t' myname.dat subtract 30 days fails awk -v t="$(date --date="-30days" +%Y-%m-%d)" -F "'" '$1 < t' myname.dat awk command in hp unix subtract 30 days automatically from current date without date illegal option error... (20 Replies)
Discussion started by: kmarcus
20 Replies

2. UNIX for Beginners Questions & Answers

Subscribers with Date 90 days older than current date

I have to display only those subscribers which are in "unconnected state" and the date is 90 days older than today's date. Below command is used for this purpose: cat vfsubscriber_20170817.csv | sed -e 's/^"//' -e '1d' | nawk -F '",' '{if ( (substr($11,2,4) == 2017) && ( substr($11,2,8) -lt... (1 Reply)
Discussion started by: dia
1 Replies

3. UNIX for Dummies Questions & Answers

Subtracting number of days from current date

Hi All, I am using KSH shell and need to subtract n number of days from the current date .. kindly suggest ! Thanks in advance!:) (20 Replies)
Discussion started by: dev.devil.1983
20 Replies

4. Shell Programming and Scripting

Seven days past date from current date

hi all.. i want 2 know how 2 find 7days past date from current date.. when i used set datetime = `date '+%m%d%y'` i got 060613.. i just want to know hw to get 053013.. i tried using date functions but couldnt get it :( i use c shell and there is no chance that i can change that ..... (3 Replies)
Discussion started by: Rahul619
3 Replies

5. Shell Programming and Scripting

How to display a date, 30 days from the current date?

Well guys, I know the right syntax for displaying the current date is $(date). However, I am planning to send emails to some customers which displays their subscription date, and then the expiry. The expiry being 30 days from the current date. What would the right syntax be? (6 Replies)
Discussion started by: xxxx
6 Replies

6. Shell Programming and Scripting

How to Get 60 days Old date from current date in KSH script

Hi i am writing a cron job. so for it i need the 60 days old date form current date in variable. Like today date is 27 jan 2011 then output value will be stote in variable in formet Nov 27. i am using EST date, and tried lot of solution and see lot of post but it did not helpful for me. so... (3 Replies)
Discussion started by: Himanshu_soni
3 Replies

7. Shell Programming and Scripting

Date after 5 days from current date in YYYYMMDD format

Hello Experts, How do i get date after 5 days from current date in YYYYMMDD format? How do you compare date in YYYYMMDD format? Thanks (8 Replies)
Discussion started by: needyourhelp10
8 Replies

8. 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

9. Shell Programming and Scripting

How to increment a user defined date value in the DATE format itself using shell script?

I need to increment a date value through shell script. Input value consist of start date and end date in DATE format of unix. For eg. I need increment a date value of 1/1/09 to 31/12/09 i.e for a whole yr. The output must look like 1/1/09 2/2/09 . . . 31/1/09 . . 1/2/09 . 28/2/09... (1 Reply)
Discussion started by: sunil087
1 Replies

10. Shell Programming and Scripting

How to find a date which is 7 days past when given current date

hii all. I have to get the date of the 7th day past from the current date. if i give the current date as sep 3 then i must get the date as 27th of august. can we get the values from the "cal" command. cal | awk '{print $2}' will this type of command work. actually my need is if today is... (17 Replies)
Discussion started by: ladtony
17 Replies
Login or Register to Ask a Question