Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Months difference between 2 dates Post 302965919 by drl on Thursday 4th of February 2016 01:32:35 PM
Old 02-04-2016
Hi.

Using an available module in a package that deals with dates:
Code:
#!/usr/bin/env bash

# @(#) s1       Demonstrate a month duration between 2 dates, ddiff.

program=ddiff
program=dateutils.ddiff

# Utility functions: print-as-echo, print-line-with-visual-space, debug.
# export PATH="/usr/local/bin:/usr/bin:/bin"
LC_ALL=C ; LANG=C ; export LC_ALL LANG
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C $program

date1=03-02-2016
date2=15-11-2015

pl " Result difference in months:"
$program -i"%d-%m-%Y" "$date2" "$date1" -f "%m %d"

pl " A method for rounding up:"
read months days  < <( $program -i"%d-%m-%Y" "$date2" "$date1" -f "%m %d" )
if [ "$days" -gt 0 ]
then
  (( months++ ))
fi
pe " Rounded-up months is $months"

exit 0

producing:
Code:
$ ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 3.16.0-4-amd64, x86_64
Distribution        : Debian 8.3 (jessie) 
bash GNU bash 4.3.30
dateutils.ddiff ddiff 0.3.1

-----
 Result difference in months:
2 19

-----
 A method for rounding up:
 Rounded-up months is 3

See repository and man pages for details on ddiff in dateutils. Found in a number of distributions including Debian-related, OS X (brew), etc.

Best wishes ... cheers, drl
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

deleting files with dates 3 months ago

please help me with this????? :confused: :confused: i need to create a program that will run in unix that will delete all files in a given directory that is at least 3 months old. first the program will need to automatically know what date it is right now to determine the files it will... (3 Replies)
Discussion started by: godalle
3 Replies

2. Shell Programming and Scripting

Difference between two dates...

Hi All, Wish you a Happy New year... I have to find the difference between two dates, the result should be the number of days. I have seen the "datecalc" function. Its good, can I have any other alternative. Thanks in Advance Raju (4 Replies)
Discussion started by: rajus19
4 Replies

3. Shell Programming and Scripting

Difference between two dates.

Hi all. My question may seems to be similar to one that already been here. But i need a little other solution. I have two dates in format dd/mm/yyyy. I need to find number of days between them. I need to do it in bash script. I am running on Solaris machine and have cutted 'date' command version... (1 Reply)
Discussion started by: kukuruku
1 Replies

4. Shell Programming and Scripting

Perl difference between dates

Hi, Is there any way I can get the difference between two dates in terms of days? I have used this method so far, but I cant format it in terms of days. @a=&DateCalc($date1,$date2,0); The o/p that I am getting is sort of like this: +0:0:0:4:0:0:0 I just want to get 4 days as an o/p.... (1 Reply)
Discussion started by: King Nothing
1 Replies

5. Shell Programming and Scripting

Difference between two dates

Hi! I have two parameters like this: YYYY-MM-DD YYYY-MM-DD My question is, there is a direct command for get the elapsed time between the 2 dates, or I have to find another way? Thx! (1 Reply)
Discussion started by: MalaTomi
1 Replies

6. UNIX and Linux Applications

sqlite: calculating with dates - compare current date minus 6 months with stored record

Hi I have a table with name, date in format DD.MM.YYYY. I need to something like this (I try to explain in pseudo code) if SYSDATE (current date) minus 6 months > $expiry date print OK else print NOK with $name and $expiry date I know this is possible with Oracle. How to do this... (0 Replies)
Discussion started by: slashdotweenie
0 Replies

7. Shell Programming and Scripting

Difference between two dates

hi all, I need a help for below requirement. Difference between two dates"12-11-2009" and "03-25-2012" (mm-dd-yy format") in weeks and days and hours Please help me for this. Thanks in adv.... I am working in AIX, so dont have below command:- date --version (2 Replies)
Discussion started by: gani_85
2 Replies

8. Shell Programming and Scripting

Difference between 2 dates

Hi Friends, I have a file that has the contents like below: file1.txt 5,13/07/2013 23:25:25,14/07/2013 19:40:21 5,13/07/2013 23:25:25,14/07/2013 19:40:43 5,12/07/2013 23:50:50,13/07/2013 20:30:26 5,12/07/2013 23:20:24,13/07/2013 19:40:53 60,14/07/2013 00:00:00,14/07/2013 23:00:39... (5 Replies)
Discussion started by: vsachan
5 Replies

9. Fedora

Difference of dates

I have a script which is printing date in below format while writing the logs. theDate=`date +"%m%d%Y"` theTime=`date +"%H%M%S"` echo $theDate $theTime How can i find out difference current time and above format. Appreciate your help. (6 Replies)
Discussion started by: srikanth38
6 Replies

10. UNIX for Beginners Questions & Answers

Difference between two dates

Hi There I am trying to find the difference between two dates in seconds, by taking the first 10 digits of the file name itself, which I have done as shown below: current_time=`date +%s` last_login_of_tim=`date -d @1489662376 +%s` diff_sec=$(($current_time-$last_login_of_tim)) ... (5 Replies)
Discussion started by: simpsa27
5 Replies
BACKUP_LISTDUMPS(8)					       AFS Command Reference					       BACKUP_LISTDUMPS(8)

NAME
backup_listdumps - Displays the dump hierarchy from the Backup Database SYNOPSIS
backup listdumps [-localauth] [-cell <cell name>] [-help] backup listd [-l] [-c <cell name>] [-h] DESCRIPTION
The backup listdumps command displays the dump hierarchy from the Backup Database. OPTIONS
-localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. The backup command interpreter presents it to the Backup Server, Volume Server and VL Server during mutual authentication. Do not combine this flag with the -cell argument. For more details, see backup(8). -cell <cell name> Names the cell in which to run the command. Do not combine this argument with the -localauth flag. For more details, see backup(8). -help Prints the online help for this command. All other valid options are ignored. OUTPUT
The output displays the complete dump hierarchy and indicates the relationship between full and incremental dump levels. Full dump levels appear at the left margin. The hierarchy can include more than one full dump level; each one defines a subhierarchy of dump levels that can be used for dumping different volume sets. Incremental dump levels appear below and indented to the right of their parent dump levels, which can be either full or incremental. Since multiple incremental dump levels can share the same parent, an incremental dump level is not always directly below its parent; the amount of indentation indicates the parent/child relationship. If a dump level has an associated expiration date, it appears along with the level name. Absolute expiration dates appear in the format <dump_level> expires at <day month date time year> and relative expiration dates in the format <dump_level> expires in {<years>y | <months>m | <days>d} to indicate the number of years, months, days, or combination of the three after creation a dump expires when created at this level. EXAMPLES
The following example depicts six dump hierarchies. The expiration date for all incremental dump levels is 13 days so that the corresponding tapes can be recycled two weeks after their creation. The expiration dates for all full dump levels is 27 days so that the corresponding tapes can be recycled four weeks after their creation. % backup listdumps /week1 expires in 27d /tuesday expires in 13d /thursday expires in 13d /sunday expires in 13d /tuesday expires in 13d /thursday expires in 13d /week3 expires in 27d /tuesday expires in 13d /thursday expires in 13d /sunday expires in 13d /tuesday expires in 13d /thursday expires in 13d /sunday1 expires in 27d /monday1 expires in 13d /tuesday1 expires in 13d /wednesday1 expires in 13d /thursday1 expires in 13d /friday1 expires in 13d /sunday2 expires in 27d /monday2 expires in 13d /tuesday2 expires in 13d /wednesday2 expires in 13d /thursday2 expires in 13d /friday2 expires in 13d /sunday3 expires in 27d /monday1 expires in 13d /tuesday1 expires in 13d /wednesday1 expires in 13d /thursday1 expires in 13d /friday1 expires in 13d /sunday4 expires in 27d /monday2 expires in 13d /tuesday2 expires in 13d /wednesday2 expires in 13d /thursday2 expires in 13d /friday2 expires in 13d PRIVILEGE REQUIRED
The issuer must be listed in the /etc/openafs/server/UserList file on every machine where the Backup Server is running, or must be logged onto a server machine as the local superuser "root" if the -localauth flag is included. SEE ALSO
backup(8), backup_adddump(8), backup_deldump(8) COPYRIGHT
IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved. This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. OpenAFS 2012-03-26 BACKUP_LISTDUMPS(8)
All times are GMT -4. The time now is 03:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy