Sponsored Content
Full Discussion: How to get next hour?
Top Forums Shell Programming and Scripting How to get next hour? Post 302769939 by Chubler_XL on Thursday 14th of February 2013 02:31:33 AM
Old 02-14-2013
You could do this with perl:

Code:
#!/usr/bin/perl
use Time::Local 'timelocal';
use POSIX;
my $year, $month, $day, $hour;
if($ARGV[0] =~ /(\d\d\d\d)(\d\d)(\d\d)(\d\d)/) {
    $ARGV[0] =~ s/(\d\d\d\d)(\d\d)(\d\d)(\d\d)/\1 \2 \3 \4/;
    ($year, $month, $day, $hour) = split(/\s/, $ARGV[0]);
    break unless timelocal(0,0,$hour,$day,$month-1,$year);
}

print strftime("%Y%m%d%H\n", localtime(mktime(0,0,$hour+1,$day,$month-1,$year-1900,0,0))) unless ($day == 0)

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

1 Hour less

set DAY=`date +%y%m%d` set H=`date +%H` set M=`date +%M` mailx -s "$H-Mydata" myemail@mail.com<mydata I am looking to set the current hour to have 1 hour less in the subject header: For example: let's say the system time is 8 I want to have "7-Mydata" not "8-Mydata" Can some1... (6 Replies)
Discussion started by: bobo
6 Replies

2. UNIX for Dummies Questions & Answers

an hour less in 24 hour system

My program: __________________________________ #!/bin/ksh DAY=`date +%y%m%d` H=`date +%H` M=`date +%M` day=`date +%m/%d/%y` let h=$H-1 echo DAY $DAY echo H $H echo M $M echo day $day echo h $h _____________________________________ My result: (3 Replies)
Discussion started by: bobo
3 Replies

3. Shell Programming and Scripting

help in hour grep

i have this script that checks for yesterday date and also specific hour in that ----------------------------------------------------------------- TZ=`date +%Z`+24 ;a=`date +%Y-%m-%d %k` cd logs count=0 for i in DBMaint.log do cat $i | grep $a >> file12.txt done... (0 Replies)
Discussion started by: ali560045
0 Replies

4. Shell Programming and Scripting

How can i grep for an hour before data

Hi, My log file is something like this. (08/04/2009 00:27:42.179)(:) aaaaaaaaaaaa (08/04/2009 00:27:42.181)(:) bbbbbbbbbbbbbbbb (08/04/2009 01:00:42.713)(:) cd cdc d ddddsksjdkssksksj (08/04/2009 01:02:42.716)(:) raarrarararararara (08/04/2009 01:07:43.036)(:ERROR) Port... (8 Replies)
Discussion started by: rdhanek
8 Replies

5. What is on Your Mind?

Power Hour?

I had some free time at work today so I decided to get a little practice with my shell scripts (I'm pretty new to the whole UNIX thing). I'm sure I'm not the only college student here so maybe this code will come in handy for future weekends. #!/bin/sh if then echo "No playlist... (0 Replies)
Discussion started by: thedoobieman5
0 Replies

6. Shell Programming and Scripting

Getting the last hour from a log.

I have a log like this: Jan 26 13:59:41 server2 ntpdate: step time server 91.189.94.4 offset 0.065456 sec Jan 26 13:59:41 server2 ntpd: ntpd 4.2.4p8@1.1612-o Fri Aug 6 22:49:54 UTC 2010 (1) Jan 26 13:59:41 server2 ntpd: precision = 1.000 usec Jan 26 13:59:41 server2 ntpd: ntp_io: estimated max... (2 Replies)
Discussion started by: Jotne
2 Replies

7. Shell Programming and Scripting

Show previous hour

date +%Y%m%d%H output : 2011031415 I want to get previous hour like this 2011031414. Any one can help ? (15 Replies)
Discussion started by: alvin0618
15 Replies

8. 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

9. Shell Programming and Scripting

Hour handling through parameter

hi, I am using parameter to get the new hour as below time=30 time1=1 hours v_StartTime=`date +'%F %T'` v_EndTime=`date +'%F %T' -d ''$time' minutes'` v_EndTime1=`date +'%F %T' -d ''$time1'` echo $v_StartTime echo $v_EndTime echo $v_EndTime1 but i am getting error as test.ksh:... (1 Reply)
Discussion started by: ATWC
1 Replies

10. UNIX for Advanced & Expert Users

Want to get average value for each hour

I want to get CPU average value only (not required user CPU & memory) with each hours on individual date. The sample output is below | | | User |Memory| User | Date | Time |CPU %|CPU % | % |Mem % | 03/02/2015|00:00:00| 24.56| 20.66| 89.75| 63.48|... (13 Replies)
Discussion started by: Saravanan_0074
13 Replies
STRFTIME(3)						     Library Functions Manual						       STRFTIME(3)

NAME
strftime - format date and time SYNOPSIS
#include <sys/types.h> #include <time.h> #include <string.h> size_t strftime(buf, maxsize, format, timeptr) char *buf; size_t maxsize; char *format; struct tm *timeptr; DESCRIPTION
The strftime() function formats the information from timeptr into the buffer buf according to the string pointed to by format. The format string consists of zero or more conversion specifications and ordinary characters. All ordinary characters are copied directly into the buffer. A conversion specification consists of a percent sign ``%'' and one other character. No more than maxsize characters will be placed into the array. If the total number of resulting characters, including the terminating null character, is not more than maxsize, strftime() returns the number of characters in the array, not counting the terminating null. Other- wise, zero is returned. Each conversion specification is replaced by the characters as follows which are then copied into the buffer. %A is replaced by the full weekday name. %a is replaced by the abbreviated weekday name, where the abbreviation is the first three characters. %B is replaced by the full month name. %b or %h is replaced by the abbreviated month name, where the abbreviation is the first three characters. %C is equivalent to ``%a %b %e %H:%M:%S %Y'' (the format produced by asctime(3)). %c is equivalent to ``%m/%d/%y''. %D is replaced by the date in the format ``mm/dd/yy''. %d is replaced by the day of the month as a decimal number (01-31). %e is replaced by the day of month as a decimal number (1-31); single digits are preceded by a blank. %H is replaced by the hour (24-hour clock) as a decimal number (00-23). %I is replaced by the hour (12-hour clock) as a decimal number (01-12). %j is replaced by the day of the year as a decimal number (001-366). %k is replaced by the hour (24-hour clock) as a decimal number (0-23); single digits are preceded by a blank. %l is replaced by the hour (12-hour clock) as a decimal number (1-12); single digits are preceded by a blank. %M is replaced by the minute as a decimal number (00-59). %m is replaced by the month as a decimal number (01-12). %n is replaced by a newline. %p is replaced by either ``AM'' or ``PM'' as appropriate. %R is equivalent to ``%H:%M'' %r is equivalent to ``%I:%M:%S %p'' . %t is replaced by a tab. %S is replaced by the second as a decimal number (00-60). %T or %X is equivalent to "%H:%M:%S" . %U is replaced by the week number of the year (Sunday as the first day of the week) as a decimal number (00-53). %W is replaced by the week number of the year (Monday as the first day of the week) as a decimal number (00-53). %w is replaced by the weekday (Sunday as the first day of the week) as a decimal number (0-6). %x is equivalent to ``%m/%d/%y %H:%M:%S'' . %Y is replaced by the year with century as a decimal number. %y is replaced by the year without century as a decimal number (00-99). %Z is replaced by the time zone name. %% is replaced by `%' . SEE ALSO
date(1), ctime(3), printf(1), printf(3) STANDARDS
The strftime() function conforms to ANSI X C3.159-1989(``ANSI C''). BUGS
There is no conversion specification for the phase of the moon. 4.2 Berkeley Distribution April 1, 1995 STRFTIME(3)
All times are GMT -4. The time now is 11:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy