08-06-2009
time stamp perl script error out of range 1..31
Hi,
while running the perl script i am getting this error message ,
Day '' out of range 1..31 at rsty.sh line 44
what do iam missing in the script, any suggestion
#!/usr/bin/perl
use Time::Local;
my $wday = $ARGV[0];
my $month = $ARGV[1];
# convert the month shortname into 0-11 number
if ( $month eq "Jan" ) { $mon = 0 }
elsif ( $month eq "Feb" ) { $mon = 1 }
elsif ( $month eq "Mar" ) { $mon = 2 }
elsif ( $month eq "Apr" ) { $mon = 3 }
elsif ( $month eq "May" ) { $mon = 4 }
elsif ( $month eq "Jun" ) { $mon = 5 }
elsif ( $month eq "Jul" ) { $mon = 6 }
elsif ( $month eq "Aug" ) { $mon = 7 }
elsif ( $month eq "Sep" ) { $mon = 8 }
elsif ( $month eq "Oct" ) { $mon = 9 }
elsif ( $month eq "Nov" ) { $mon = 10 }
elsif ( $month eq "Dec" ) { $mon = 11 };
my $mday = $ARGV[2];
# initialize time varialble and split hours (24 hr format), minutes, seconds into an array
my $time = $ARGV[3];
@time = split /:/, $time;
# if the timezone is left out of the input, the position of year becomes 5th in ARGV
my $year = $ARGV[4];
$epoch= timelocal($time[2], $time[1], $time[0], $mday, $mon, $year);
print "$epoch\n";
Thanks
saha
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I need to write a script,which behaves like this,
Given the folder name, it should list the files with today's timestamp.
Please direct me on this.
Thanks. (2 Replies)
Discussion started by: kid123
2 Replies
2. Shell Programming and Scripting
Hi Guys,
Could you tell me how you can get the time stamp for 60th minutes?
Currently, we name our file using time stamp upto minutes and then add seconds at the end starting from 01.
And when the seconds reaches 60 we simply add 1 to the time stamp and reset the seconds to 00.
But the... (3 Replies)
Discussion started by: supaLucas
3 Replies
3. Shell Programming and Scripting
I have searched several thread and not found my solution, so I am posting a new qustion.
I have a very simple script on an AIX server that FTPs 2 files to a MS FTP server. These 2 files are created on the AIX server every hour, with a static name.
I need to FTP the files to the MS server, but... (1 Reply)
Discussion started by: sknisely
1 Replies
4. Shell Programming and Scripting
I need some help recovering from a "slight" screwup. We just moved 3 TB of data from one RAID Array to another. Low lever archive files. This was done with a regular cp (for some reason) and now we have lost all the timestamps on the files, and we urgently need to get the timestamps back on these... (7 Replies)
Discussion started by: chj
7 Replies
5. Shell Programming and Scripting
Hey guys - I have made this script and for some reason, I dont see time stamp as "Month-Day-YYYY Hours-Mins" - all i see is Month and Day.
Also, my file size is approximated. For example, if the size is 19,606KB - the script shows as 20M. Is there a way to see the exact file size?
How do i... (2 Replies)
Discussion started by: DallasT
2 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I have to find the next time stamp in perl.
Here is the code.
@time = loaltime(time);
print "\n Present time: $time:$time:$time \n";
For example if the time is: "12:55:02" after some process the time becomes 1:00:00.
How do i check when it becomes 00:00 i.e from "12:55:02... (0 Replies)
Discussion started by: vanitham
0 Replies
7. Shell Programming and Scripting
Hello All,
Morning,
I am facing problem with my code while creating a log with name as current time stamp using perl. Here is the code.
#!/usr/bin/perl
my $time=localtime;
my ($day,$month,$date,$tm,$year)=split(/ /,$time);
my $stamp=$year."_".$month."_".$date;
my... (4 Replies)
Discussion started by: krsnadasa
4 Replies
8. Shell Programming and Scripting
I want to check given time stamp is between the given time stamp or not. I am using AIX.
YYYYMMDDHHMMSS
abc.csv
START TIME, END TIME
20130209018000,20130509022000
20120209018000,20130509022000
20120209018000,20130509022000
Script will check given time stamp is between above two range or... (2 Replies)
Discussion started by: vegasluxor
2 Replies
9. Shell Programming and Scripting
Help with Perl script :
I have a web.xml file with a line
<display-name>some_text_here</display-name>
Need to append the current date and time stamp to the string and save the XML file
Something like
<display-name>some_text_here._01_23_2014_03_56_33</display-name>
-->Finally want... (5 Replies)
Discussion started by: gaurav99
5 Replies
10. Shell Programming and Scripting
I have created this script
#!/bin/sh
FILES=/data/log/access_*.log
for f in $FILES
do
echo "Processing $f file"
cat $f | awk '{print $1}' | sort | uniq -c | sort -n | tail
done
It produces this output
Processing /data/log/access_abc.log file
114 1.1.1.1
167 2.2.2.2
... (38 Replies)
Discussion started by: sharingsunshine
38 Replies
CTIME(2) System Calls Manual CTIME(2)
NAME
ctime, localtime, gmtime, asctime, timezone - convert date and time to ASCII
SYNOPSIS
#include <u.h>
#include <libc.h>
char* ctime(long clock)
Tm* localtime(long clock)
Tm* gmtime(long clock)
char* asctime(Tm *tm)
/env/timezone
DESCRIPTION
Ctime converts a time clock such as returned by time(2) into ASCII (sic) and returns a pointer to a 30-byte string in the following form.
All the fields have constant width.
Wed Aug 5 01:07:47 EST 1973
Localtime and gmtime return pointers to structures containing the broken-down time. Localtime corrects for the time zone and possible day-
light savings time; gmtime converts directly to GMT. Asctime converts a broken-down time to ASCII and returns a pointer to a 30-byte
string.
typedef
struct {
int sec; /* seconds (range 0..59) */
int min; /* minutes (0..59) */
int hour; /* hours (0..23) */
int mday; /* day of the month (1..31) */
int mon; /* month of the year (0..11) */
int year; /* year A.D. - 1900 */
int wday; /* day of week (0..6, Sunday = 0) */
int yday; /* day of year (0..365) */
char zone[4]; /* time zone name */
} Tm;
When local time is first requested, the program consults the timezone environment variable to determine the time zone and converts accord-
ingly. (This variable is set at system boot time by init(8).) The timezone variable contains the normal time zone name and its difference
from GMT in seconds followed by an alternate (daylight) time zone name and its difference followed by a newline. The remainder is a list
of pairs of times (seconds past the start of 1970, in the first time zone) when the alternate time zone applies. For example:
EST -18000 EDT -14400
9943200 25664400 41392800 57718800 ...
Greenwich Mean Time is represented by
GMT 0
SOURCE
/sys/src/libc/9sys
SEE ALSO
date(1), time(2), init(8)
BUGS
The return values point to static data whose content is overwritten by each call.
Daylight Savings Time is ``normal'' in the Southern hemisphere.
These routines are not equipped to handle non-ASCII text, and are provincial anyway.
CTIME(2)