Doing math on 24 hour time base


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Doing math on 24 hour time base
# 1  
Old 06-23-2011
Doing math on 24 hour time base

I'm trying to do some simple math on a 24 hour time base.

The time is in the format of HM (HoursMinutes)

For example:
2330 #23:30
1800 #18:00
730 #07:30

my problem is with the single-digit hours. If the time is 2200, I use this code:
Code:
baseTime=2200
minutes=${baseTime:2:3}
hours=${baseTime:0:2}

This works great, but it fails if the hours is single-digit:
Code:
baseTime=655
minutes=${baseTime:2:3}
hours=${baseTime:0:2}

#Fails!!!


Is there a way to handle this gracefully? I just want to separate the hour and minute components of a 3 or 4 digit time.


thanks
# 2  
Old 06-23-2011
Maybe this can help:
Code:
% var=655

% [[ ${#var} == 3 ]] && var=0$var

% echo $var
0655

# 3  
Old 06-23-2011
check this too ..

code:
Code:
awk ' { if ( $1 < 1000 ) { print "0"$1 } else { print $1 } } ' <input_file>


Last edited by pludi; 06-23-2011 at 01:17 PM..
# 4  
Old 06-23-2011
Code:
time=630
h=`expr $time / 100` 
m=`expr $time % 100` 
echo $h $m

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Windows & DOS: Issues & Discussions

NFS Share Time an Hour Ahead

Time on unix server shows 8:00a CST Time on Windows 7 Box shows 8:00a CST However when you access an NFS share the time stamp on the files show an hour ahead? Talking about a newly created file shows an hour ahead so at 8:00a the file will show a time stamp of 9:00a CST the problem it... (1 Reply)
Discussion started by: Paul Standley
1 Replies

2. Shell Programming and Scripting

How to convert 24 hour time to 12 hour timing?

Hi friends, I want to convert 24 hour timing to 12 hour please help me... my data file looks like this.. 13-Nov-2011 13:27:36 15.32044 72.68502 13-Nov-2011 12:08:31 15.31291 72.69807 16-Nov-2011 01:16:54 15.30844 72.74028 15-Nov-2011 20:09:25 15.35096 ... (13 Replies)
Discussion started by: nex_asp
13 Replies

3. Shell Programming and Scripting

Create file base on server time

Hi Guys, Server time:- >date >Wed Nov 14 11:56:23 EST 2012 I want to convert in to Below Formet :- 20121114.1100 And cretae file base on above data : last 48 Hour 20121114.1000 20121114.1100 20121114.0900 20121114.1000 20121114.0800 20121114.0900 20121114.0700 20121114.0800... (2 Replies)
Discussion started by: asavaliya
2 Replies

4. Shell Programming and Scripting

add one hour to each time field

Hello All, Is there any *easy* and efficient way to add "one hour" to few fields in a file? . I have done this using a python script and it has hit with performance issues. I have around 200mi of records, which I need to modify and send across in one hour. sample input: '2012-10-17... (2 Replies)
Discussion started by: panyam
2 Replies

5. AIX

crontab 1 hour off from current time

This is a new one on me. We upgraded a system from AIX 5.3 TL 7 to 6.1 TL 7 yesterday. The app people notified us that their cron jobs weren't running at the right time. So I made a test cron entry and here's what I've found: # crontab -l * * * * * /usr/bin/date > /tmp/test.log 2>&1 # cat... (2 Replies)
Discussion started by: homeyjoe
2 Replies

6. Shell Programming and Scripting

Incrementing a time by one hour issues

Hi all, I need your help to increment a time by one hour. The difficulty is the time is in a string format and not a value cat file | awk '{print $1,$2}' 09/02/2011 20:11 09/03/2011 20:11 I want to change the time to be as follows 09/02/2011 21:11 or even 09/02/2011 20:21 Can... (2 Replies)
Discussion started by: Junes
2 Replies

7. UNIX for Dummies Questions & Answers

How to add an hour or a minute to a time?

Hi, The timestamp is June 06 2011 11:05AM i need 2 results. first, an hour added to it, June 06 2011 12:05AM second, a minute added to it, June 06 2011 11:06AM How can i do this? Also when it reaches 12:59, it needs to start from 1 again without giving the output as 13:00. it... (17 Replies)
Discussion started by: irudayaraj
17 Replies

8. UNIX for Dummies Questions & Answers

How do i set time in 24 hour format?

Currently whenever i run date command output is shown like Mon Apr 12 05:17:21 IST 2010 When its 17:17 Here. How would i change it so that it should show. Mon Apr 12 17:17:21 IST 2010 (8 Replies)
Discussion started by: pinga123
8 Replies

9. AIX

Time getting reduced by 1 hour

I am setting TZ=EST5EDT,M3.2.0/02:00:00,M11.1.0/02:00:00 Then Setting the date to Mar 14 01:40 EST date 0314014010 Sun Mar 14 01:40:36 EDT 2010 Note that it show it EST. According to my TZ variable 01:40 Should be in EST only. On executing date command once again it shows date Sun Mar... (4 Replies)
Discussion started by: januuj23
4 Replies

10. Shell Programming and Scripting

getting hour minus the current time

Can some one help me getting last hour of the current time with date command in a script. (7 Replies)
Discussion started by: shehzad_m
7 Replies
Login or Register to Ask a Question