Sponsored Content
Top Forums UNIX for Dummies Questions & Answers How to add an hour or a minute to a time? Post 302542988 by irudayaraj on Friday 29th of July 2011 06:50:56 AM
Old 07-29-2011
Hi,

This works perfectly fine.
But, $my $min_to_add = 1 * 1 * 60; and my $hr_to_sub = 1 * 1 * 86400; i may need to change the values in future. so am keeping them in a separate configuration file like

Code:
MIN = 1 * 1 * 60 
HR = 24 * 60 * 60

in the script, i use a package use et_config and Et_Config_Init()
I call them inside the script like
Code:
my $min_to_add = Et_Config_Value("MIN");
my $hr_to_sub = Et_Config_Value("HR");

The issue here is, when i use those values directly in the script, it takes the multiplied value as 1 * 1 * 60 =60 but when i get them from the configuration file, it remains as 1 * 1 * 60 only as such , so i am not getting the result expected.

Is there any function that can do this?
The configuration file is mandatory. How can this be achieved?

Code:

Code:
my $date_var = "Jun  6 2011  8:02AM";
if ($date_var != '')
{
my $min_to_add = 1 * 1 * 60;
my $from_dt = qx/
  date -d "$date_var" +%s
  / + $min_to_add;
my $min_var = strftime( '%B %d %Y %I:%M%p', localtime $from_dt );
print("\n the mins added  is $min_var\n");

my $hr_to_add = 1 * 60 * 60;
my $to_dt = qx/
  date -d "$min_var" +%s
  / + $hr_to_add;
my $hr_var = strftime( '%B %d %Y %I:%M%p', localtime $to_dt );
print("\n the hours  added is $hr_var\n");
}
else
{
use POSIX qw(strftime);
my $to_dt = strftime "%b %d %Y %H:%M%p", localtime;
print("\n The original time is  $to_dt\n");
my $hr_to_sub = 1 * 1 * 86400;
my $from_dt
 = qx/
  date -d "$to_dt" +%s
  / - $hr_to_sub;
my $to_dt_now = strftime( '%B %d %Y %H:%M%p', localtime $from_dt );
print("\n the to date now  is $to_dt_now \n");
}


Last edited by radoulov; 07-29-2011 at 09:33 AM.. Reason: Please use code tags!
 

10 More Discussions You Might Find Interesting

1. Linux

How to add and extra hour to the start time

Hi Actually what am trying to ask is , i have an shell script ,now i want to run this shell script for one hour continuously and after one hour it has to stop automatically. can any one suggest me how to automate the shell script ? we tried wth the getting the start time and add ing an hour... (8 Replies)
Discussion started by: lalitka
8 Replies

2. Shell Programming and Scripting

Time difference in Minute in UNIX

is there any ways to get the time difference between 2 dates in UNIX? for example, For below date the outut should come 22 minutes startdate enddate ========= ======= 06/17/2008 13:25 06/17/2008 13:47 For, below date, the output should come 1462 minutes ... (5 Replies)
Discussion started by: Amit.Sagpariya
5 Replies

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

4. Shell Programming and Scripting

Crontab for every minute or every hour

How to set crontab for every minute or every hour (1 Reply)
Discussion started by: kaushik02018
1 Replies

5. Shell Programming and Scripting

counting word xx referred to a time period, like minute or hour

Hello, I try to insert a post because I've got a trouble to perform a unix job. But I didn't found which steps (procedure) I should follow. Could you help me? I got a log by my Application box, like following: gbosmam037:test >view Log_Server.csv ... (2 Replies)
Discussion started by: maluca68
2 Replies

6. Shell Programming and Scripting

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: baseTime=2200 minutes=${baseTime:2:3}... (3 Replies)
Discussion started by: jondecker76
3 Replies

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

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

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

10. Shell Programming and Scripting

[solved] Awk/shell question to parse hour minute from text

Hi, I have a quick question on parsing the hour/minute and value from a text file and remove the seconds portion. For example in the below text file: 20:26:01 95.83 20:27:01 96.06 20:28:01 95.99 20:29:01 7.11 20:30:01 5.16 20:31:01 8.27 20:32:02 9.79 20:33:01 11.27 20:34:01 7.83... (2 Replies)
Discussion started by: satishrao
2 Replies
Date::Format(3) 					User Contributed Perl Documentation					   Date::Format(3)

NAME
Date::Format - Date formating subroutines SYNOPSIS
use Date::Format; @lt = localtime(time); print time2str($template, time); print strftime($template, @lt); print time2str($template, time, $zone); print strftime($template, @lt, $zone); print ctime(time); print asctime(@lt); print ctime(time, $zone); print asctime(@lt, $zone); DESCRIPTION
This module provides routines to format dates into ASCII strings. They correspond to the C library routines "strftime" and "ctime". time2str(TEMPLATE, TIME [, ZONE]) "time2str" converts "TIME" into an ASCII string using the conversion specification given in "TEMPLATE". "ZONE" if given specifies the zone which the output is required to be in, "ZONE" defaults to your current zone. strftime(TEMPLATE, TIME [, ZONE]) "strftime" is similar to "time2str" with the exception that the time is passed as an array, such as the array returned by "localtime". ctime(TIME [, ZONE]) "ctime" calls "time2str" with the given arguments using the conversion specification "%a %b %e %T %Y " asctime(TIME [, ZONE]) "asctime" calls "time2str" with the given arguments using the conversion specification "%a %b %e %T %Y " MULTI-LANGUAGE SUPPORT Date::Format is capable of formating into several languages by creating a language specific object and calling methods, see Date::Language my $lang = Date::Language->new('German'); $lang->time2str("%a %b %e %T %Y ", time); I am open to suggestions on this. CONVERSION SPECIFICATION
Each conversion specification is replaced by appropriate characters as described in the following list. The appropriate characters are determined by the LC_TIME category of the program's locale. %% PERCENT %a day of the week abbr %A day of the week %b month abbr %B month %c MM/DD/YY HH:MM:SS %C ctime format: Sat Nov 19 21:05:57 1994 %d numeric day of the month, with leading zeros (eg 01..31) %e like %d, but a leading zero is replaced by a space (eg 1..32) %D MM/DD/YY %G GPS week number (weeks since January 6, 1980) %h month abbr %H hour, 24 hour clock, leading 0's) %I hour, 12 hour clock, leading 0's) %j day of the year %k hour %l hour, 12 hour clock %L month number, starting with 1 %m month number, starting with 01 %M minute, leading 0's %n NEWLINE %o ornate day of month -- "1st", "2nd", "25th", etc. %p AM or PM %P am or pm (Yes %p and %P are backwards :) %q Quarter number, starting with 1 %r time format: 09:05:57 PM %R time format: 21:05 %s seconds since the Epoch, UCT %S seconds, leading 0's %t TAB %T time format: 21:05:57 %U week number, Sunday as first day of week %w day of the week, numerically, Sunday == 0 %W week number, Monday as first day of week %x date format: 11/19/94 %X time format: 21:05:57 %y year (2 digits) %Y year (4 digits) %Z timezone in ascii. eg: PST %z timezone in format -/+0000 %d, %e, %H, %I, %j, %k, %l, %m, %M, %q, %y and %Y can be output in Roman numerals by prefixing the letter with "O", e.g. %OY will output the year as roman numerals. LIMITATION
The functions in this module are limited to the time range that can be represented by the time_t data type, i.e. 1901-12-13 20:45:53 GMT to 2038-01-19 03:14:07 GMT. AUTHOR
Graham Barr <gbarr@pobox.com> COPYRIGHT
Copyright (c) 1995-2009 Graham Barr. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.18.2 2009-12-12 Date::Format(3)
All times are GMT -4. The time now is 04:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy