![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| calculations in awk/sed | anchal_khare | Shell Programming and Scripting | 3 | 03-26-2009 11:41 PM |
| Date Calculations | mitschcg | UNIX for Dummies Questions & Answers | 8 | 03-06-2009 04:40 AM |
| ksh, calculations using bc | cesarNZ | Shell Programming and Scripting | 2 | 12-14-2008 10:42 PM |
| Time Calculations | Nysif Steve | UNIX for Dummies Questions & Answers | 5 | 09-14-2007 08:49 AM |
| Float calculations | sharmavr | UNIX for Dummies Questions & Answers | 1 | 07-26-2006 02:18 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Need help with Date calculations in ksh
Hi Gurus,
I am writing a script where we enter two dates, one a FROM DATE and the other a TO DATE. I need to validate that difference between the two dates is always less than or equal to 60 days. I could not find any date utility in ksh that could help me with this. Finally, I am deciding to write a Java code and call it from the script as it is much easier and quicker to do it in Java than in Unix. Can somebody guide me to a way in unix to do this rather than writing another script or Java or C code to do it and call it from here. Thanks in advance. |
|
||||
|
|
|
||||
|
Quote:
Code:
colemar@deb:~$ cat days_between
#!/bin/sh
typeset -i days_between
function days_between {
days_between=$((($(date -d $2 +%s)-$(date -d $1 +%s))/86400))
}
days_between $1 $2
echo $days_between
colemar@deb:~$ ./days_between 2008-04-22 2009-04-22
365
|
|
||||
|
Colemar,
Thanks for your help. I tried it and this is what has happened. Quote:
I did go through the script that you sent but I felt it is too long and big to go through for this small validation. Thanks a lot for your time and efforts though. There is one more approach I designed myself and working on it right now. I am creating an array that will contain number of days elapsed at the end of each month in the calendar year. Based on the month entered i can get the number of days elapsed at the end of the previous month, add it with the day of the month entered and get number of days elapsed in that year. If the difference is negative, which means the year has changed. I am hopeful that this logic will work. Once the code is ready I will paste it for others who can use it. Thanks once again. Appreciate it really. |
|
||||
|
Quote:
Code:
var=$(./datecalc -a 2009 04 22 - 2008 04 22) echo $var |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|