LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 07-26-2007, 07:57 PM   #1
go939
LQ Newbie
 
Registered: Jun 2007
Posts: 15

Rep: Reputation: 0
Systemtime in Linux


I have a program written in Visual c++ that uses the SYSTEMTIME to time-stamp each records that it writes. What is itīs equivalent in Linux? and what lib/header do I have to use?

Thanks!
 
Old 07-26-2007, 11:12 PM   #2
wjevans_7d1@yahoo.co
Member
 
Registered: Jun 2006
Location: Mariposa
Distribution: Slackware 9.1
Posts: 938

Rep: Reputation: 31
Do this at the command prompt:

Code:
man 2 time
man localtime
and all will be revealed.
 
Old 07-29-2007, 09:40 PM   #3
go939
LQ Newbie
 
Registered: Jun 2007
Posts: 15

Original Poster
Rep: Reputation: 0
i'm sorry, but i can't open the man 2 time and man localtime...no manual entry for time in section 2..and no manual entry for localtime...

is there another way around or just an equivalent function for SYSTEMTIME in linux?

here's my source code in win32:

void ControlLog::GetTimeString (const int nType, char* pcTimeString)
{
SYSTEMTIME stSysTime;
GetLocalTime (&stSysTime);

if (nType == 1)
{
sprintf (pcTimeString, "%02d%02d%02d %02d %02d %02d",

stSysTime.wYear - 2000, stSysTime.wMonth, stSysTime.wDay,

stSysTime.wHour, stSysTime.wMinute, stSysTime.wSecond);
}

else
{
sprintf(pcTimeString, "%02d/%02d/%02d %02d:%02d:%02d",

stSysTime.wYear - 2000, stSysTime.wMonth, stSysTime.wDay,

stSysTime.wHour, stSysTime.wMinute, stSysTime.wSecond);
}
}
 
Old 07-30-2007, 02:14 AM   #4
wjevans_7d1@yahoo.co
Member
 
Registered: Jun 2006
Location: Mariposa
Distribution: Slackware 9.1
Posts: 938

Rep: Reputation: 31
Don't let the lack of man pages stop you.

Code:
wally:~$ man 2 time | col -b
TIME(2)             Linux Programmer's Manual             TIME(2)



NAME
       time - get time in seconds

SYNOPSIS
       #include <time.h>

       time_t time(time_t *t);

DESCRIPTION
       time returns the time since the Epoch (00:00:00 UTC, Jan-
       uary 1, 1970), measured in seconds.

       If t is non-NULL, the return value is also stored in the
       memory pointed to by t.

RETURN VALUE
       On success, the value of time in seconds since the Epoch
       is returned.  On error, ((time_t)-1) is returned, and
       errno is set appropriately.

ERRORS
       EFAULT t points outside your accessible address space.

NOTES
       POSIX.1 defines seconds since the Epoch as a value to be
       interpreted as the number of seconds between a specified
       time and the Epoch, according to a formula for conversion
       from UTC equivalent to conversion on the naive basis that
       leap seconds are ignored and all years divisible by 4 are
       leap years.  This value is not the same as the actual num-
       ber of seconds between the time and the Epoch, because of
       leap seconds and because clocks are not required to be
       synchronised to a standard reference.  The intention is
       that the interpretation of seconds since the Epoch values
       be consistent; see POSIX.1 Annex B 2.2.2 for further
       rationale.

CONFORMING TO
       SVr4, SVID, POSIX, X/OPEN, BSD 4.3
       Under BSD 4.3, this call is obsoleted by gettimeofday(2).
       POSIX does not specify any error conditions.

SEE ALSO
       ctime(3), date(1), ftime(3), gettimeofday(2)



Linux 2.0.30                1997-09-09                    TIME(2)
wally:~$
Code:
wally:~$ man localtime | col -b
CTIME(3)            Linux Programmer's Manual            CTIME(3)



NAME
       asctime, ctime, gmtime, localtime, mktime, asctime_r,
       ctime_r, gmtime_r, localtime_r - transform date and time
       to broken-down time or ASCII

SYNOPSIS
       #include <time.h>

       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *tm, char *buf);

       char *ctime(const time_t *timep);
       char *ctime_r(const time_t *timep, char *buf);

       struct tm *gmtime(const time_t *timep);
       struct tm *gmtime_r(const time_t *timep, struct tm *result);

       struct tm *localtime(const time_t *timep);
       struct tm *localtime_r(const time_t *timep, struct tm *result);

       time_t mktime(struct tm *tm);

DESCRIPTION
       The ctime(), gmtime() and localtime() functions all take
       an argument of data type time_t which represents calendar
       time.  When interpreted as an absolute time value, it rep-
       resents the number of seconds elapsed since 00:00:00 on
       January 1, 1970, Coordinated Universal Time (UTC).

       The asctime() and mktime() functions both take an argument
       representing broken-down time which is a representation
       separated into year, month, day, etc.

       Broken-down time is stored in the structure tm which is
       defined in <time.h> as follows:

              struct tm {
                      int     tm_sec;         /* seconds */
                      int     tm_min;         /* minutes */
                      int     tm_hour;        /* hours */
                      int     tm_mday;        /* day of the month */
                      int     tm_mon;         /* month */
                      int     tm_year;        /* year */
                      int     tm_wday;        /* day of the week */
                      int     tm_yday;        /* day in the year */
                      int     tm_isdst;       /* daylight saving time */
              };

       The members of the tm structure are:

       tm_sec The number of seconds after the minute, normally in
              the range 0 to 59, but can be up to 61 to allow for
              leap seconds.

       tm_min The number of minutes after the hour, in the range
              0 to 59.

       tm_hour
              The number of hours past midnight, in the range 0
              to 23.

       tm_mday
              The day of the month, in the range 1 to 31.

       tm_mon The number of months since January, in the range 0
              to 11.

       tm_year
              The number of years since 1900.

       tm_wday
              The number of days since Sunday, in the range 0 to
              6.

       tm_yday
              The number of days since January 1, in the range 0
              to 365.

       tm_isdst
              A flag that indicates whether daylight saving time
              is in effect at the time described.  The value is
              positive if daylight saving time is in effect, zero
              if it is not, and negative if the information is
              not available.

       The call ctime(t) is equivalent to asctime(localtime(t)).
       It converts the calendar time t into a string of the form

              "Wed Jun 30 21:49:08 1993\n"

       The abbreviations for the days of the week are `Sun',
       `Mon', `Tue', `Wed', `Thu', `Fri', and `Sat'.  The abbre-
       viations for the months are `Jan', `Feb', `Mar', `Apr',
       `May', `Jun', `Jul', `Aug', `Sep', `Oct', `Nov', and
       `Dec'.  The return value points to a statically allocated
       string which might be overwritten by subsequent calls to
       any of the date and time functions.  The function also
       sets the external variable tzname (see tzset(3)) with
       information about the current time zone.  The re-entrant
       version ctime_r() does the same, but stores the string in
       a user-supplied buffer of length at least 26. It need not
       set tzname.

       The gmtime() function converts the calendar time timep to
       broken-down time representation, expressed in Coordinated
       Universal Time (UTC). It may return NULL when the year
       does not fit into an integer.  The return value points to
       a statically allocated struct which might be overwritten
       by subsequent calls to any of the date and time functions.
       The gmtime_r() function does the same, but stores the data
       in a user-supplied struct.

       The localtime() function converts the calendar time timep
       to broken-time representation, expressed relative to the
       user's specified time zone.    The function acts as if it
       called tzset(3) and sets the external variables tzname
       with information about the current time zone, timezone
       with the difference between Coordinated Universal Time
       (UTC) and local standard time in seconds, and daylight to
       a non-zero value if daylight savings time rules apply dur-
       ing some part of the year.  The return value points to a
       statically allocated struct which might be overwritten by
       subsequent calls to any of the date and time functions.
       The localtime_r() function does the same, but stores the
       data in a user-supplied struct. It need not set tzname.

       The asctime() function converts the broken-down time value
       tm into a string with the same format as ctime().  The
       return value points to a statically allocated string which
       might be overwritten by subsequent calls to any of the
       date and time functions.  The asctime_r() function does
       the same, but stores the string in a user-supplied buffer
       of length at least 26.

       The mktime() function converts a broken-down time struc-
       ture, expressed as local time, to calendar time represen-
       tation.  The function ignores the specified contents of
       the structure members tm_wday and tm_yday and recomputes
       them from the other information in the broken-down time
       structure.  If structure members are outside their legal
       interval, they will be normalized (so that, e.g., 40 Octo-
       ber is changed into 9 November).  Calling mktime() also
       sets the external variable tzname with information about
       the current time zone.  If the specified broken-down time
       cannot be represented as calendar time (seconds since the
       epoch), mktime() returns a value of (time_t)(-1) and does
       not alter the tm_wday and tm_yday members of the broken-
       down time structure.

RETURN VALUE
       Each of these functions returns the value described, or
       NULL (-1 in case of mktime()) in case an error was
       detected.

NOTES
       The four functions asctime(), ctime(), gmtime() and local-
       time() return a pointer to static data and hence are not
       thread-safe.  Thread-safe versions asctime_r(), ctime_r(),
       gmtime_r() and localtime_r() are specified by SUSv2, and
       available since libc 5.2.5.

       The glibc version of struct tm has additional fields

              long tm_gmtoff;           /* Seconds east of UTC */
              const char *tm_tm_zone;   /* Timezone abbreviation */

       defined when _BSD_SOURCE was set before including
       <time.h>.  This is a BSD extension, present in 4.3BSD-
       Reno.

CONFORMING TO
       SVID 3, POSIX, BSD 4.3, ISO 9899

SEE ALSO
       date(1), gettimeofday(2), newctime(3), time(2), utime(2),
       clock(3), difftime(3), strftime(3), strptime(3), tzset(3)



                            2001-12-13                   CTIME(3)
wally:~$
Good luck!
 
Old 07-30-2007, 03:44 AM   #5
go939
LQ Newbie
 
Registered: Jun 2007
Posts: 15

Original Poster
Rep: Reputation: 0
ok thanks a lot!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 03:18 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration