time difference


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users time difference
# 1  
Old 09-15-2006
time difference

Hi,

i have one hard coded time which will be 23:45 and one will be sysdate (same date) and time less than 23:45.

i want to start my job at 23:45 and the input file will be arriving before that. so i want to make sure that the task starts only at 23:45 and from the input file time till 23:45 the script should go into sleep mode.

for that i need difference between both the times in seconds so that i can use sleep for the difference time.

Please help me on how to get the difference in seconds.

Any other solution to achieve the same requirement is also welcomed.
# 2  
Old 09-15-2006
Code:
#!/bin/ksh
# add 27 hours to a "timestamp"

sub_times()  # seconds diff: $1 - now
{
    perl -e '
        use Time::Local;
        
#  get current time

        $tm="$ARGV[0]";
        (  $sec,
           $min,
           $hr,
           $mday,
           $mon,
           $yr,
           $wday,
           $yday,
           $isdst)=localtime(time);
           
# alter to 23:45 or ARGV[0] 
        $sec=0;
        $min=substr($tm,3,2);
        $hr=substr($tm,0,2); 
        
# epochtm is number of seconds at ARGV[0] in future 

        $epochtm=timelocal($sec,$min,$hr,$mday,$mon,$yr);
        if($epochtm > time)
        {
           	$epochtm=$epochtm - time;
           	print "$epochtm", "\n";
        } 
        else    #  we have an error ie., time is > 23:45 
        {
        	print "0\n";	
        }    '   "$1"
}

# example use of sub_times:

sleep_time=$( sub_times "23:45")
echo "$sleep_time"
sleep_time=$( sub_times "00:00")
echo "$sleep_time"

# 3  
Old 10-08-2006
The GNU date command in full of goodies but not when it comes to calculate a date or time difference. Here is what I came up with after looking to more than one solution.

Code:
#!/bin/bash
date2stamp () {
    date -u --date "$1" +%s
}

dateDiff (){
    dte1=$(date2stamp $1)
    dte2=$(date2stamp $2)
    diffSec=$((dte2-dte1))
    if ((diffSec < 0)); then abs=-1; else abs=1; fi
    echo $((diffSec*abs))
}

dateDiff "15:30:15" "15:35:18"

# 4  
Old 10-09-2006
I got one too..

start_time=`date +%H:%M`
end_time="23:45"
tme=`TZ=CST+24 date +%Y%m%d`
start_hour=`echo $start_time | cut -d':' -f1`
start_min=`echo $start_time | cut -d':' -f2`
end_hour=`echo $end_time | cut -d':' -f1`
end_min=`echo $end_time | cut -d':' -f2`
hour=`expr $end_hour - $start_hour`
min=`expr $end_min - $start_min`

if [ $min -lt 0 ]
then
min=`expr $min + 60`
hour=`expr $hour - 1`
fi

hour_min=`expr $hour \* 60`
tot_min=`expr $hour_min + $min`
seconds=`expr $tot_min \* 60`

echo "Total Sec - $seconds"
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Time difference between two time stamps

Hi Friends, I have 2 varaibles which contain START=`date '+ %m/%d/%y %H:%M:%S'` END=`date '+ %m/%d/%y %H:%M:%S'` i want the time difference between the two variables in Seconds. Plz help. (2 Replies)
Discussion started by: i150371485
2 Replies

2. Programming

time difference in MySql

Hi All I want the time difference from current date time For eg. From current date time i want to subtract 10 hrs and after subtracting i want the resultant in date time in MySql (1 Reply)
Discussion started by: parthmittal2007
1 Replies

3. Shell Programming and Scripting

Time Difference

Is this way of finding the time difference a correct way of doing it or is it error-prone. #****Check if lastrun exist. If exists check if the difference is 1 hour or not and act accordingly*********************** if ; then lastrun_time=`cat $LOG_DIR/lastrun` curr_time=`date +%s` ... (4 Replies)
Discussion started by: sreekanthragi
4 Replies

4. SCO

Time difference

Need some help please. I am running SCO Openserver 5.07 on a Windows 2003 Server with VMware Server 1 If I run # ps -ef|grep /etc/cron the date that it shows the cron process started is older than the date I get from running the uptime command. In other words it looks like the date... (2 Replies)
Discussion started by: wjace
2 Replies

5. Shell Programming and Scripting

How to calculate time difference between start and end time of a process!

Hello All, I have a problem calculating the time difference between start and end timings...! the timings are given by 24hr format.. Start Date : 08/05/10 12:55 End Date : 08/09/10 06:50 above values are in mm/dd/yy hh:mm format. Now the thing is, 7th(08/07/10) and... (16 Replies)
Discussion started by: smarty86
16 Replies

6. Shell Programming and Scripting

Time difference

Hi, I have a tab delimited file with GMT time. How to convert the GMT to PST time and store the line only if date falls to 2 days ago date. Say today is 16, date should be of 14. or else remove the line abc - - efg - - hij - - kln - - ... (10 Replies)
Discussion started by: sandy1028
10 Replies

7. Shell Programming and Scripting

Time Difference

Hi Experts... I want to calculate the time difference between two date-time values (using ksh). It can return the difference in hours (or whatever..) For eg: time_diff "09/12/2009 12:30" "09/10/2009 12:30" should return 1464 hours... $time_diff "09/12/2009 12:30:00" "09/10/2009... (5 Replies)
Discussion started by: PRKS
5 Replies

8. Shell Programming and Scripting

How to calculate this time difference

Hi, Please help me in calculating the time difference between below mentioned timestamps. a=07/17/2007 02:20:00 AM MST b=07/17/2007 02:07:46 AM MST Thanks (2 Replies)
Discussion started by: Prat007
2 Replies

9. Shell Programming and Scripting

Time difference

Hi All, I know there has been a lot of things that have been written about date arithmetic, but perhaps I have missed something.. The following script takes the input from a file name fail.txt with the following format: CLASSDB 20060328122808 CPPARMS 20060814222056 Where $1 is a file name... (4 Replies)
Discussion started by: Segwar
4 Replies

10. Shell Programming and Scripting

Time difference calculations

Hi All.. Does anyone have a useful function where I can enter two date/timestamps and it calculates the difference in time in hours, minutes and seconds between the 2? Any feedback much appreciated. :D Kind Regards Satnam (1 Reply)
Discussion started by: satnamx
1 Replies
Login or Register to Ask a Question