Sponsored Content
Full Discussion: Date Difference
Top Forums UNIX for Beginners Questions & Answers Date Difference Post 303044793 by stomp on Wednesday 4th of March 2020 04:59:02 AM
Old 03-04-2020
I recommend to use awk instead of bc to calculate here, because bc displays floating point numbers <1 without a leading zero.

So your command ...

Code:
echo "`date -d $expdate +%s` - `date -d $today +%s`)/(24*3600)" |bc -l

becomes ...

Code:
awk -vd1="$(date -d "$expdate" +%s)" -vd2="$(date -d "$today" +%s)" '  'BEGIN { printf "%.0f\n",(d1-d2)/(24*3600) }'

I generally recommend $(...) instead of `...` for command substitution since different single quotes can be easily mixed up and easy nesting is only possible with the braces.

Note especially the printf command within awk. It accomplishes the rounding.

To get it into a variable you have to use another command substitution:

Code:
varname="$( ... command ... )"


Last edited by stomp; 03-04-2020 at 06:04 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

date difference

Hi Can any buddy give mi a simple program or logic or command which will get difference between two dates ex:diff between 20051008 2005908 is 24hours 12 min 2 sec regards (1 Reply)
Discussion started by: rajuMBT
1 Replies

2. Shell Programming and Scripting

date difference

if there are two date one is entered by user and another is system date than how can we finds day difference between these two date try to make it within 4 lines (2 Replies)
Discussion started by: piyush_movadiya
2 Replies

3. Linux

date difference

hi, i have 2 dates in the form: '20080315120030' and '20080310140030'. i.e. YYYYMMDDHHMMSS. i need a way of getting the difference between them using shell script. any thoughts? (14 Replies)
Discussion started by: muay_tb
14 Replies

4. Shell Programming and Scripting

difference in date

Hi All! I would like to know the time difference between two dates which are in same format... $ date -r abc Thu Oct 29 09:40:37 EDT 2009 $ date Fri Oct 30 02:07:03 EDT 2009 i would like to find the diff between these two dates in hours..please help..:) Regards, Kiran (3 Replies)
Discussion started by: dddkiran
3 Replies

5. Shell Programming and Scripting

Difference in date

Dear all, I fancy that I'm pretty competent in ksh, but I have someone on HP-UX wanting me to script up a simple interface to handle user alterations rather than giving them high privileges to run up SAM. This is all fairly straightforward, but I'm stuck on an epoch date issue. When we have... (6 Replies)
Discussion started by: rbatte1
6 Replies

6. Homework & Coursework Questions

help with the date difference

1. The problem statement, all variables and given/known data: The problem i have is that i probably make a few mistake here in the code but don't know what it is and i try to get the date difference but don't know where to add the days_in_month function 2. Relevant commands, code,... (1 Reply)
Discussion started by: mgyeah
1 Replies

7. Programming

Date difference

I tried the below code to find difference between two dates. It works fine if the day of the month is 2-digit number. But it fails when we have a single-digit day of month(ex:1-9). my code is as below. please help me soon. #!/usr/bin/perl -w use strict; use Time::Local; ... (2 Replies)
Discussion started by: anandrec
2 Replies

8. Shell Programming and Scripting

Date difference

HI All , i need a bash script to find the number of days between two dates . Format YYYY-MM-DD THanks, Neil (1 Reply)
Discussion started by: nevil
1 Replies

9. AIX

Time Difference between date and date -u

Hi Everyone, We are having an issue with date and date -u in our AIX Systems. We have checked environment variable TZ and /etc/environment and however, we could not rectify the difference. >date Thu Mar 19 22:31:40 IST 2015 >date -u Thu Mar 19 17:01:44 GMT 2015 Any clue... (5 Replies)
Discussion started by: madhav.kunapa
5 Replies

10. Shell Programming and Scripting

Difference between two date

Hi, I created a script for finding the duration of a job using the start and end time of the job. But the command doesnt calculate correct value if the duration is more than 24 hours. Any help would be really good . cat test1 --- start time 03/27/15 17:41:00 03/24/15 11:58:04 03/23/15... (3 Replies)
Discussion started by: rogerben
3 Replies
FEGETENV(3)						   BSD Library Functions Manual 					       FEGETENV(3)

NAME
fegetenv, feholdexcept, fesetenv, feupdateenv -- functions providing access to the floating-point environment. SYNOPSIS
#include <fenv.h> #pragma STDC FENV_ACCESS ON int fegetenv(fenv_t *envp); int feholdexcept(fenvt_t *envp); int fesetenv(fenv_t *envp); int feupdateenv(fenv_t *envp); DESCRIPTION
These functions provide the means to manage the entire floating-point environment--including both status flags and control modes--as a single entity. The fegetenv() function attempts to store the current floating-point environment in the object pointed to by envp. It returns zero if the environment was successfully stored, and a nonzero value otherwise. The feholdexcept() function saves the current floating-point environment in the object pointed to by envp, clears the floating-point status flags, and then installs a "non-stop" mode, if available, under which no traps are taken for floating-point exceptions (as is the case in default IEEE-754 floating-point execution). It returns zero if and only if such a mode was successfully installed. The fesetenv() function attempts to establish the floating-point environment represented by the object pointed to by envp. This object shall have been set by a call to fegetenv() or feholdexcept(), or be equal to a floating-point environment macro defined in <fenv.h>. Note that this function merely installs the floating-point status flags represented by its argument, and does not raise the corresponding floating- point exceptions. It returns zero if and only if the environment pointed to by envp was successfully installed. The feupdateenv() function attempts to save the currently raised floating-point flags, install the floating-point environment represented by *envp, and then raise the floating-point exceptions corresponding to the saved flags. The object pointed to by envp shall have been set by a call to fegetenv() or feholdexcept(), or be equal to a floating-point environment macro defined in <fenv.h>. It returns zero if and only if all of the specified actions were successfully carried out. SEE ALSO
fenv(3), feclearexcept(3), fegetexceptflag(3), fegetround(3), feraiseexcept(3), fesetexceptflag(3), fesetround(3), feraiseexcept(3) STANDARDS
These functions conform to ISO/IEC 9899:TC3. BSD
May 9, 2011 BSD
All times are GMT -4. The time now is 08:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy