1. convert the date (you pick the format) to seconds since the start of the era. use strptime and mktime.
2. compare the two time_t (seconds) values.
example using MON-DD-YYYY format:
I have a log file with date format like
10-Oct-02 13:20:29 .....
at the beginning of each line in the log file, and I need to grep data from this file to list the lines with date no longer than one days.
I tried to use awk to do this but it looks very complicated to do it.
Is there... (6 Replies)
Hi
I am writing a unix program. In that, i should compare two dates.
I would like to know how to compare two dates in unix-whether they are same or not.
pls help (5 Replies)
Hi Gurus
I am getting the timestamp of the last generated log file
its like this "Oct 31 10:26"
I want to compare this timestamp with the current date in shell script. I want to compare if the
(timestamp-currentime) > 10 minutes
how do i do this.
Thanks
Ragha (2 Replies)
hi all :)
how can in compare yyyy/dd/mm with yyyy/dd/mm in perl i want the result like grater than or less than the given date...
thanks in advance (3 Replies)
Hi all,
I've written a script which gives the below information...
End Date&Time: 2008-10-21 10.54.37
Now i want to calculate this time with the current time.. and if its more than 48 hours past with the current time it should echo "48 Hours back"
Please help me..
thanks in... (4 Replies)
Need to find all records where date in one filed is greater than date in other.
Input:
ABC 2 Filed3 CDG * X 20080903 20081031 180.00
ABD 2 Filed3 CDG * X 20081101 20081031 190.00
ABE 2 Filed3 CDG * X 20090903 20081031 120.00
ABC 2 Filed3 CDG * X 20080903 20081015 130.00
Output:
... (2 Replies)
I want to compare a list of dates in a file with today's date & list only dates that are less than only 60 days old . please help . the date in the file are in format
11-FEB-2009
02-FEB-2009
26-JAN-2009
24-JAN-2009
13-JAN-2009
16-DEC-2008
10-DEC-2008
01-DEC-2008
25-NOV-2008
19-NOV-2008... (3 Replies)
Hi to all.
When you have to compare a lot of dates in a SH code, there is a way to directly compare? For example, how can I check if two dates differ in less than a week?
Thank's for reading. (2 Replies)
Hi,
I want to convert two datetime fields to find out if the difference is one hour, in linux I've done this by converting both the datetime values to unix epoch time and subtracting them to find out if the difference is more than 3600s, however this does not work in hp-ux.
I've these... (3 Replies)
Hi All,
I am entering StartDate and EndDate as parameters to script. Want to have an check saying, "If StartDate is greater than EndDate then don't execute the script".
Pseudo Code:
if
then
Execute script
else
exit 0
fi
Can you please help me on the same?
Thanks and... (4 Replies)
Discussion started by: Nagaraja Akkiva
4 Replies
LEARN ABOUT FREEBSD
posix2time
TIME2POSIX(3) BSD Library Functions Manual TIME2POSIX(3)NAME
time2posix, posix2time -- convert seconds since the Epoch
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <time.h>
time_t
time2posix(time_t t);
time_t
posix2time(time_t t);
DESCRIPTION
IEEE Std 1003.1-1988 (``POSIX.1'') legislates that a time_t value of 536457599 shall correspond to "Wed Dec 31 23:59:59 GMT 1986." This
effectively implies that POSIX time_t's cannot include leap seconds and, therefore, that the system time must be adjusted as each leap
occurs.
If the time package is configured with leap-second support enabled, however, no such adjustment is needed and time_t values continue to
increase over leap events (as a true `seconds since...' value). This means that these values will differ from those required by POSIX by the
net number of leap seconds inserted since the Epoch.
Typically this is not a problem as the type time_t is intended to be (mostly) opaque--time_t values should only be obtained-from and passed-
to functions such as time(3), localtime(3), mktime(3) and difftime(3). However, IEEE Std 1003.1-1988 (``POSIX.1'') gives an arithmetic
expression for directly computing a time_t value from a given date/time, and the same relationship is assumed by some (usually older) appli-
cations. Any programs creating/dissecting time_t's using such a relationship will typically not handle intervals over leap seconds cor-
rectly.
The time2posix() and posix2time() functions are provided to address this time_t mismatch by converting between local time_t values and their
POSIX equivalents. This is done by accounting for the number of time-base changes that would have taken place on a POSIX system as leap sec-
onds were inserted or deleted. These converted values can then be used in lieu of correcting the older applications, or when communicating
with POSIX-compliant systems.
The time2posix() function is single-valued. That is, every local time_t corresponds to a single POSIX time_t. The posix2time() function is
less well-behaved: for a positive leap second hit the result is not unique, and for a negative leap second hit the corresponding POSIX time_t
does not exist so an adjacent value is returned. Both of these are good indicators of the inferiority of the POSIX representation.
The following table summarizes the relationship between time_t and its conversion to, and back from, the POSIX representation over the leap
second inserted at the end of June, 1993.
DATE TIME T X=time2posix(T) posix2time(X)
93/06/30 23:59:59 A+0 B+0 A+0
93/06/30 23:59:60 A+1 B+1 A+1 or A+2
93/07/01 00:00:00 A+2 B+1 A+1 or A+2
93/07/01 00:00:01 A+3 B+2 A+3
A leap second deletion would look like...
DATE TIME T X=time2posix(T) posix2time(X)
??/06/30 23:59:58 A+0 B+0 A+0
??/07/01 00:00:00 A+1 B+2 A+1
??/07/01 00:00:01 A+2 B+3 A+2
[Note: posix2time(B+1) => A+0 or A+1]
If leap-second support is not enabled, local time_t's and POSIX time_t's are equivalent, and both time2posix() and posix2time() degenerate to
the identity function.
SEE ALSO difftime(3), localtime(3), mktime(3), time(3)BSD September 11, 2005 BSD